--- a/pidgin/gtksavedstatuses.c Thu Sep 02 21:28:40 2021 -0500
+++ b/pidgin/gtksavedstatuses.c Sat Sep 11 10:18:20 2021 -0500
@@ -633,7 +633,7 @@
**************************************************************************/
-static void substatus_editor_cancel_cb(GtkButton *button, gpointer user_data);
+static void substatus_editor_cancel(SubStatusEditor *dialog); status_editor_remove_dialog(StatusEditor *dialog)
@@ -664,7 +664,7 @@
gtk_list_store_set(dialog->model, &iter,
STATUS_EDITOR_COLUMN_WINDOW, NULL,
- substatus_editor_cancel_cb(NULL, substatus_dialog);
+ substatus_editor_cancel(substatus_dialog); } while (gtk_tree_model_iter_next(model, &iter));
@@ -1297,17 +1297,15 @@
-substatus_editor_cancel_cb(GtkButton *button, gpointer user_data)
+substatus_editor_cancel(SubStatusEditor *dialog) - SubStatusEditor *dialog = user_data;
gtk_widget_destroy(dialog->window);
-substatus_editor_ok_cb(GtkButton *button, gpointer user_data)
+substatus_editor_ok(SubStatusEditor *dialog) - SubStatusEditor *dialog = user_data;
StatusEditor *status_editor;
@@ -1351,6 +1349,24 @@
+substatus_editor_response_cb(GtkDialog *dialog, gint response_id, + SubStatusEditor *editor = data; + case GTK_RESPONSE_CANCEL: + substatus_editor_cancel(editor); + substatus_editor_ok(editor); edit_substatus(StatusEditor *status_editor, PurpleAccount *account)
@@ -1396,6 +1412,8 @@
g_signal_connect(G_OBJECT(win), "destroy",
G_CALLBACK(substatus_editor_destroy_cb), dialog);
+ g_signal_connect(win, "response", G_CALLBACK(substatus_editor_response_cb), vbox = pidgin_dialog_get_vbox_with_properties(GTK_DIALOG(win), FALSE, 12);
@@ -1449,13 +1467,9 @@
dialog->message_buffer = talkatu_html_buffer_new();
gtk_text_view_set_buffer(GTK_TEXT_VIEW(dialog->message_view), dialog->message_buffer);
- pidgin_dialog_add_button(GTK_DIALOG(win), _("Cancel"),
- G_CALLBACK(substatus_editor_cancel_cb), dialog);
- pidgin_dialog_add_button(GTK_DIALOG(win), _("Okay"),
- G_CALLBACK(substatus_editor_ok_cb), dialog);
+ gtk_dialog_add_button(GTK_DIALOG(win), _("Cancel"), GTK_RESPONSE_CANCEL); + gtk_dialog_add_button(GTK_DIALOG(win), _("Okay"), GTK_RESPONSE_OK); /* Seed the input widgets with the current values */