--- a/pidgin/gtknotify.c Wed Sep 20 01:38:28 2017 +0200 +++ b/pidgin/gtknotify.c Wed Nov 29 20:40:36 2017 +0100 @@ -1044,7 +1044,7 @@ switch (b->type) { case PURPLE_NOTIFY_BUTTON_LABELED: if(b->label) { - button = gtk_button_new_with_label(b->label); + button = gtk_dialog_add_button(GTK_DIALOG(window), b->label, GTK_RESPONSE_NONE); } else { purple_debug_warning("gtknotify", "Missing button label\n"); } @@ -1284,13 +1284,7 @@ GSList *argv = NULL, *argv_remote = NULL; gchar **usercmd_argv = NULL; - /* Replace some special characters like $ with their percent-encoded - value. This shouldn't be necessary because we shell-escape the entire - arg before exec'ing the browser, however, we had a report that a URL - containing $(xterm) was causing xterm to start on his system. This is - obviously a bug on his system, but it's pretty easy for us to protect - against it. */ - uri_escaped = g_uri_escape_string(uri, ":;/%#,+?=&@", FALSE); + uri_escaped = purple_uri_escape_for_open(uri); web_browser = purple_prefs_get_string(PIDGIN_PREFS_ROOT "/browsers/browser");