changeset 9399:0c31db6bde62

[gaim-migrate @ 10213] Nathan Conrad pointed out that my previous change broke Mozilla 1.7. This should fix that. Lemme know if it doesn't. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Fri, 25 Jun 2004 23:12:45 +0000
parents 245fa201ad6c
children ecd93503a5c9
files src/gtknotify.c
diffstat 1 files changed, 20 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/src/gtknotify.c	Fri Jun 25 22:10:14 2004 +0000
+++ b/src/gtknotify.c	Fri Jun 25 23:12:45 2004 +0000
@@ -538,26 +538,34 @@
 			 !strcmp(web_browser, "mozilla-firebird") ||
 			 !strcmp(web_browser, "firefox"))
 	{
+		char *args = "";
+
 		command = g_strdup_printf("%s \"%s\"", web_browser, uri);
 
+		/*
+		 * Firefox 0.9 and higher require a "-a firefox" option when
+		 * using -remote commands.  This breaks older versions of
+		 * mozilla.  So we include this other handly little string
+		 * when calling firefox.  If the API for remote calls changes
+		 * any more in firefox then firefox should probably be split
+		 * apart from mozilla-firebird and mozilla... but this is good
+		 * for now.
+		 */
+		if (!strcmp(web_browser, "firefox"))
+			args = "-a firefox";
+
 		if (place == GAIM_BROWSER_NEW_WINDOW)
-		{
-			remote_command = g_strdup_printf("%s -a firefox -remote "
+			remote_command = g_strdup_printf("%s %s -remote "
 											 "\"openURL(\"%s\",new-window)\"",
-											 web_browser, uri);
-		}
+											 web_browser, args, uri);
 		else if (place == GAIM_BROWSER_NEW_TAB)
-		{
-			remote_command = g_strdup_printf("%s -a firefox -remote "
+			remote_command = g_strdup_printf("%s %s -remote "
 											 "\"openURL(\"%s\",new-tab)\"",
-											 web_browser, uri);
-		}
+											 web_browser, args, uri);
 		else if (place == GAIM_BROWSER_CURRENT)
-		{
-			remote_command = g_strdup_printf("%s -a firefox -remote "
+			remote_command = g_strdup_printf("%s %s -remote "
 											 "\"openURL(\"%s\")\"",
-											 web_browser, uri);
-		}
+											 web_browser, args, uri);
 	}
 	else if (!strcmp(web_browser, "custom"))
 	{