Mercurial > pidgin.yaz
changeset 28957:ab538f3edcce
In GNOME 2.26, the program gnome-network-preferences was renamed to
gnome-network-properties. Try to find both of these when constructing the
Proxy prefs page.
author | Elliott Sales de Andrade <qulogic@pidgin.im> |
---|---|
date | Mon, 16 Nov 2009 08:06:20 +0000 |
parents | b855ec2d2880 |
children | afced6be9972 |
files | pidgin/gtkprefs.c |
diffstat | 1 files changed, 11 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/pidgin/gtkprefs.c Mon Nov 16 07:45:34 2009 +0000 +++ b/pidgin/gtkprefs.c Mon Nov 16 08:06:20 2009 +0000 @@ -1589,11 +1589,11 @@ } static void -proxy_button_clicked_cb(GtkWidget *button, gpointer null) +proxy_button_clicked_cb(GtkWidget *button, gchar *program) { GError *err = NULL; - if (g_spawn_command_line_async ("gnome-network-preferences", &err)) + if (g_spawn_command_line_async(program, &err)) return; purple_notify_error(NULL, NULL, _("Cannot start proxy configuration program."), err->message); @@ -1951,7 +1951,7 @@ prefs_proxy_frame = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); if(purple_running_gnome()) { - gchar *path = g_find_program_in_path("gnome-network-preferences"); + gchar *path = NULL; hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); label = gtk_label_new(_("Proxy preferences are configured in GNOME preferences")); @@ -1961,6 +1961,10 @@ hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); gtk_container_add(GTK_CONTAINER(vbox), hbox); + path = g_find_program_in_path("gnome-network-properties"); + if (path == NULL) + path = g_find_program_in_path("gnome-network-preferences"); + if (path == NULL) { label = gtk_label_new(NULL); gtk_label_set_markup(GTK_LABEL(label), @@ -1969,11 +1973,13 @@ } else { proxy_button = gtk_button_new_with_mnemonic(_("Configure _Proxy")); g_signal_connect(G_OBJECT(proxy_button), "clicked", - G_CALLBACK(proxy_button_clicked_cb), NULL); + G_CALLBACK(proxy_button_clicked_cb), + path); gtk_box_pack_start(GTK_BOX(hbox), proxy_button, FALSE, FALSE, 0); } - g_free(path); + /* NOTE: path leaks, but only when the prefs window is destroyed, + which is never */ gtk_widget_show_all(ret); } else { prefs_proxy_subframe = gtk_vbox_new(FALSE, 0);