All pastes #953629 Raw Edit

Mine

public diff v1 · immutable
#953629 ·published 2008-03-23 06:19 UTC
rendered paste body
## old_revision [3f8b4b5a421935e71b45c7b8260c8bb32a330384]## patch "pidgin/gtkprefs.c"#  from [9a3650562cf429fb3814c4a9f3006d939026f1cb]#    to [6fc27b209db9a04c577c150e322c9a0d3e518fa2]#============================================================--- pidgin/gtkprefs.c   9a3650562cf429fb3814c4a9f3006d939026f1cb+++ pidgin/gtkprefs.c   6fc27b209db9a04c577c150e322c9a0d3e518fa2@@ -1949,6 +1949,22 @@ preview_button_clicked(GtkWidget *widget        gst_element_set_state(pipeline, GST_STATE_PLAYING); }+static void repopulate(const char *name, PurplePrefType type, gconstpointer val, gpointer data)+{+       GtkWidget *vbox = data;+       GList *list = gtk_container_get_children(GTK_CONTAINER(vbox));+       while (list) {+               gtk_widget_destroy(list->data);+               list = g_list_delete_link(list, list);+       }+       purple_debug_fatal("XXX", "repop\n");+       pidgin_prefs_dropdown(vbox, _("Test:"),+                       PURPLE_PREF_STRING, "/test",+                       "A", "a",+                       "B", "b",+                       NULL);+}+ static GtkWidget * media_page() {@@ -1997,6 +2013,20 @@ media_page()                        "/purple/media/audio/device",                        audio_items);+       {+               vbox = pidgin_make_frame(ret, _("Change"));+               dd = pidgin_prefs_dropdown(vbox, _("Test:"),+                               PURPLE_PREF_STRING, "/test",+                               "A", "a",+                               "B", "b",+                               NULL);++               purple_prefs_connect_callback(vbox, "/purple/media/audio/device",+                               repopulate, vbox);+               g_signal_connect_swapped(vbox, "destroy",+                               purple_prefs_disconnect_by_handle, vbox);+       }+        gtk_size_group_add_widget(sg, dd);        gtk_misc_set_alignment(GTK_MISC(dd), 0, 0.5);