# HG changeset patch # User Daniel Atallah # Date 1184955086 0 # Node ID d767cd75d0887a0902e622e094f42c37b923c7d8 # Parent 94f4048f13809827cfc9dfac2a4a3c1ec642f8f7 pidgin_accounts_window_hide() should actually dispose of the window. Fixes #2193. diff -r 94f4048f1380 -r d767cd75d088 pidgin/gtkaccount.c --- a/pidgin/gtkaccount.c Fri Jul 20 16:31:39 2007 +0000 +++ b/pidgin/gtkaccount.c Fri Jul 20 18:11:26 2007 +0000 @@ -504,7 +504,7 @@ /* Google Talk default domain hackery! */ menu = gtk_option_menu_get_menu(GTK_OPTION_MENU(dialog->protocol_menu)); item = gtk_menu_get_active(GTK_MENU(menu)); - if (value == NULL && g_object_get_data(G_OBJECT(item), "fake") && + if (value == NULL && g_object_get_data(G_OBJECT(item), "fake") && !strcmp(purple_account_user_split_get_text(split), _("Domain"))) value = "gmail.com"; @@ -1814,6 +1814,10 @@ static gint accedit_win_destroy_cb(GtkWidget *w, GdkEvent *event, AccountsWindow *dialog) { + /* Since this is called as the window is closing, we don't need + * pidgin_accounts_window_hide() to also dispose of the window */ + dialog->window = NULL; + pidgin_accounts_window_hide(); return 0; @@ -1924,8 +1928,6 @@ static void close_accounts_cb(GtkWidget *w, AccountsWindow *dialog) { - gtk_widget_destroy(dialog->window); - pidgin_accounts_window_hide(); } @@ -2401,6 +2403,9 @@ if (accounts_window == NULL) return; + if (accounts_window->window != NULL) + gtk_widget_destroy(accounts_window->window); + purple_signals_disconnect_by_handle(accounts_window); purple_prefs_disconnect_by_handle(accounts_window);