pidgin: c3be7591: xmppdisco: Close the input request when ...
darkrain42 at pidgin.im
darkrain42 at pidgin.im
Fri Nov 6 22:50:40 EST 2009
-----------------------------------------------------------------
Revision: c3be7591114fdb749db60b5a72647b3fdd8e6e9e
Ancestor: 7d05e888d59df1b4bc3258d7ca667c58c646037e
Author: darkrain42 at pidgin.im
Date: 2009-11-07T03:45:13
Branch: im.pidgin.pidgin
URL: http://d.pidgin.im/viewmtn/revision/info/c3be7591114fdb749db60b5a72647b3fdd8e6e9e
Modified files:
pidgin/plugins/disco/gtkdisco.c
pidgin/plugins/disco/gtkdisco.h
ChangeLog:
xmppdisco: Close the input request when closing the dialog. Fixes a crash.
-------------- next part --------------
============================================================
--- pidgin/plugins/disco/gtkdisco.c f548a94bcd8a21c5bc18ebc997e5d81998e60bf8
+++ pidgin/plugins/disco/gtkdisco.c 0ceb6d42f2e485937e9deae6cf35014d3b7ddf45
@@ -162,12 +162,15 @@ static void discolist_cancel_cb(PidginDi
static void discolist_cancel_cb(PidginDiscoList *pdl, const char *server)
{
+ pdl->dialog->prompt_handle = NULL;
+
pidgin_disco_list_set_in_progress(pdl, FALSE);
pidgin_disco_list_unref(pdl);
}
static void discolist_ok_cb(PidginDiscoList *pdl, const char *server)
{
+ pdl->dialog->prompt_handle = NULL;
gtk_widget_set_sensitive(pdl->dialog->browse_button, TRUE);
if (!server || !*server) {
@@ -236,7 +239,7 @@ static void browse_button_cb(GtkWidget *
/* Note to translators: The string "Enter an XMPP Server" is asking the
user to type the name of an XMPP server which will then be queried */
- purple_request_input(my_plugin, _("Server name request"), _("Enter an XMPP Server"),
+ dialog->prompt_handle = purple_request_input(my_plugin, _("Server name request"), _("Enter an XMPP Server"),
_("Select an XMPP server to query"),
server, FALSE, FALSE, NULL,
_("Find Services"), PURPLE_CALLBACK(discolist_ok_cb),
@@ -390,6 +393,9 @@ destroy_win_cb(GtkWidget *window, gpoint
PidginDiscoDialog *dialog = d;
PidginDiscoList *list = dialog->discolist;
+ if (dialog->prompt_handle)
+ purple_request_close(PURPLE_REQUEST_INPUT, dialog->prompt_handle);
+
if (list) {
list->dialog = NULL;
============================================================
--- pidgin/plugins/disco/gtkdisco.h 314a7bc42016d7fbdb310f4484372d8d86200967
+++ pidgin/plugins/disco/gtkdisco.h 683e67ebcfd1c8a9c09abf7b90ecd1b915d6cff3
@@ -43,6 +43,8 @@ struct _PidginDiscoDialog {
PurpleAccount *account;
PidginDiscoList *discolist;
+
+ gpointer *prompt_handle;
};
struct _PidginDiscoList {
More information about the Commits
mailing list