diff -r c810d4c510f2 -r 32bace83b11e pidgin/gtkrequest.c --- a/pidgin/gtkrequest.c Fri Jun 29 16:31:57 2012 +0200 +++ b/pidgin/gtkrequest.c Fri Jun 29 16:35:07 2012 +0200 @@ -341,6 +341,11 @@ return text; } +static void stop_emission_cb(GtkDialog *dialog, const gchar *signal_name) +{ + gtk_signal_emit_stop_by_name(GTK_OBJECT(dialog), signal_name); +} + static void * pidgin_request_input(const char *title, const char *primary, const char *secondary, const char *default_value, @@ -655,6 +660,8 @@ data->dialog = dialog = gtk_dialog_new(); gtk_window_set_deletable(GTK_WINDOW(data->dialog), FALSE); + g_signal_connect(G_OBJECT(dialog), "close", + G_CALLBACK(stop_emission_cb), "close"); if (title != NULL) gtk_window_set_title(GTK_WINDOW(dialog), title);