| 1042 PurpleNotifySearchButton *b = l->data; |
1042 PurpleNotifySearchButton *b = l->data; |
| 1043 GtkWidget *button = NULL; |
1043 GtkWidget *button = NULL; |
| 1044 switch (b->type) { |
1044 switch (b->type) { |
| 1045 case PURPLE_NOTIFY_BUTTON_LABELED: |
1045 case PURPLE_NOTIFY_BUTTON_LABELED: |
| 1046 if(b->label) { |
1046 if(b->label) { |
| 1047 button = gtk_button_new_with_label(b->label); |
1047 button = gtk_dialog_add_button(GTK_DIALOG(window), b->label, GTK_RESPONSE_NONE); |
| 1048 } else { |
1048 } else { |
| 1049 purple_debug_warning("gtknotify", "Missing button label\n"); |
1049 purple_debug_warning("gtknotify", "Missing button label\n"); |
| 1050 } |
1050 } |
| 1051 break; |
1051 break; |
| 1052 case PURPLE_NOTIFY_BUTTON_CONTINUE: |
1052 case PURPLE_NOTIFY_BUTTON_CONTINUE: |
| 1282 int place; |
1282 int place; |
| 1283 gchar *uri_escaped, *uri_custom = NULL; |
1283 gchar *uri_escaped, *uri_custom = NULL; |
| 1284 GSList *argv = NULL, *argv_remote = NULL; |
1284 GSList *argv = NULL, *argv_remote = NULL; |
| 1285 gchar **usercmd_argv = NULL; |
1285 gchar **usercmd_argv = NULL; |
| 1286 |
1286 |
| 1287 /* Replace some special characters like $ with their percent-encoded |
1287 uri_escaped = purple_uri_escape_for_open(uri); |
| 1288 value. This shouldn't be necessary because we shell-escape the entire |
|
| 1289 arg before exec'ing the browser, however, we had a report that a URL |
|
| 1290 containing $(xterm) was causing xterm to start on his system. This is |
|
| 1291 obviously a bug on his system, but it's pretty easy for us to protect |
|
| 1292 against it. */ |
|
| 1293 uri_escaped = g_uri_escape_string(uri, ":;/%#,+?=&@", FALSE); |
|
| 1294 |
1288 |
| 1295 web_browser = purple_prefs_get_string(PIDGIN_PREFS_ROOT |
1289 web_browser = purple_prefs_get_string(PIDGIN_PREFS_ROOT |
| 1296 "/browsers/browser"); |
1290 "/browsers/browser"); |
| 1297 place = purple_prefs_get_int(PIDGIN_PREFS_ROOT "/browsers/place"); |
1291 place = purple_prefs_get_int(PIDGIN_PREFS_ROOT "/browsers/place"); |
| 1298 |
1292 |