pidgin/gtkutils.c

changeset 22702
bccd324d76c5
parent 22639
7ff3669b196e
child 22737
3535c4e90c39
child 22787
18842b6fda42
equal deleted inserted replaced
22701:7cc102245b3e 22702:bccd324d76c5
2954 return &handle; 2954 return &handle;
2955 } 2955 }
2956 2956
2957 static void connection_signed_off_cb(PurpleConnection *gc) 2957 static void connection_signed_off_cb(PurpleConnection *gc)
2958 { 2958 {
2959 GSList *list; 2959 GSList *list, *l_next;
2960 for (list = minidialogs; list; list = list->next) { 2960 for (list = minidialogs; list; list = l_next) {
2961 l_next = list->next;
2961 if (g_object_get_data(G_OBJECT(list->data), "gc") == gc) { 2962 if (g_object_get_data(G_OBJECT(list->data), "gc") == gc) {
2962 gtk_widget_destroy(GTK_WIDGET(list->data)); 2963 gtk_widget_destroy(GTK_WIDGET(list->data));
2963 } 2964 }
2964 } 2965 }
2965 } 2966 }
3021 g_signal_connect(G_OBJECT(mini_dialog), "destroy", 3022 g_signal_connect(G_OBJECT(mini_dialog), "destroy",
3022 G_CALLBACK(alert_killed_cb), NULL); 3023 G_CALLBACK(alert_killed_cb), NULL);
3023 3024
3024 va_start(args, user_data); 3025 va_start(args, user_data);
3025 while ((button_text = va_arg(args, char*))) { 3026 while ((button_text = va_arg(args, char*))) {
3027 struct _old_button_clicked_cb_data *data = NULL;
3028 PidginMiniDialogCallback wrapper_cb = NULL;
3026 PidginUtilMiniDialogCallback callback = 3029 PidginUtilMiniDialogCallback callback =
3027 va_arg(args, PidginUtilMiniDialogCallback); 3030 va_arg(args, PidginUtilMiniDialogCallback);
3028 struct _old_button_clicked_cb_data *data = 3031
3029 g_new0(struct _old_button_clicked_cb_data, 1); 3032 if (callback != NULL) {
3030 data->cb = callback; 3033 data = g_new0(struct _old_button_clicked_cb_data, 1);
3031 data->data = user_data; 3034 data->cb = callback;
3035 data->data = user_data;
3036 wrapper_cb = old_mini_dialog_button_clicked_cb;
3037 }
3032 pidgin_mini_dialog_add_button(mini_dialog, button_text, 3038 pidgin_mini_dialog_add_button(mini_dialog, button_text,
3033 old_mini_dialog_button_clicked_cb, data); 3039 wrapper_cb, data);
3034 cb_datas = g_list_append(cb_datas, data); 3040 cb_datas = g_list_append(cb_datas, data);
3035 } 3041 }
3036 va_end(args); 3042 va_end(args);
3037 3043
3038 g_signal_connect(G_OBJECT(mini_dialog), "destroy", 3044 g_signal_connect(G_OBJECT(mini_dialog), "destroy",

mercurial