]> git.xonotic.org Git - xonotic/netradiant.git/blobdiff - radiant/url.cpp
use NULL as sentinel instead of 0
[xonotic/netradiant.git] / radiant / url.cpp
index e5abc077f5b9424e2ddbb9afb66a368d410993b8..b1603ecc2a554bbb025d4d4ecdff43ee0a2efe0b 100644 (file)
 #include "gtkutil/messagebox.h"
 
 #ifdef WIN32
+#include <gtk/gtk.h>
 #include <gdk/gdkwin32.h>
 #include <shellapi.h>
 bool open_url( const char* url ){
-       return ShellExecute( (HWND)GDK_WINDOW_HWND( GTK_WIDGET( MainFrame_getWindow() )->window ), "open", url, 0, 0, SW_SHOW ) > (HINSTANCE)32;
+       return ShellExecute( (HWND)GDK_WINDOW_HWND( gtk_widget_get_window( MainFrame_getWindow() ) ), "open", url, 0, 0, SW_SHOW ) > (HINSTANCE)32;
 }
 #endif
 
 #if defined( __linux__ ) || defined( __FreeBSD__ )
 #include <stdlib.h>
 bool open_url( const char* url ){
-       // \todo FIXME: the way we open URLs on *nix should be improved. A script is good (see how I do on RTCW)
        char command[2 * PATH_MAX];
        snprintf( command, sizeof( command ),
-                         "firefox -remote \"openURL(%s,new-window)\" || firefox \"%s\" &", url, url );
+                         "xdg-open \"%s\" &", url, url );
        return system( command ) == 0;
 }
 #endif
@@ -56,6 +56,6 @@ void OpenURL( const char *url ){
        // let's put a little comment
        globalOutputStream() << "OpenURL: " << url << "\n";
        if ( !open_url( url ) ) {
-               gtk_MessageBox( GTK_WIDGET( MainFrame_getWindow() ), "Failed to launch browser!" );
+               MainFrame_getWindow().alert( "Failed to launch browser!" );
        }
 }