comparison src/gtkaccount.c @ 7450:685736e14aac

[gaim-migrate @ 8061] from bug #836143 ----------------------------------------------------------------- Date: 2003-11-06 17:19 Sender: zuperdee Logged In: YES user_id=347499 Alright folks, I HAVE A FIX!!!! I repeat, I HAVE A FIX!!!!!!!!! Basically, this is what was wrong: the account_win_destroy_cb function was failing to destroy the window when the "window delete" event was happening. I reviewed the code, and it appears there are only 2 places where that function is called, and in BOTH cases, gtk_widget_destroy(dialog->window) was called before calling account_win_destroy_cb. That's ugly!!!! So, my patch rearranges things so gtk_widget_destroy is called at the beginning of account_win_destroy_cb. That way, it *DOES* destroy the window as it is supposed to, and it removes a couple unnecessary lines of code. Woohoo!!!!!!!!! I've tested it here on my own system, and it appears to work, but I'd appreciate it if someone else could verify my fix before it is checked in (should it be accepted). The fix is in Patch #837542 here on Sourceforge. :-) Yours Truly, Daniel (Yes, I am excited!!! I just fixed a problem in Gaim that has been bugging me for some time. I *HATE* instability... Call me the Segfault Avenger. ;-)) --------------------------------------------------------------- committer: Tailor Script <tailor@pidgin.im>
author Luke Schierer <lschiere@pidgin.im>
date Thu, 06 Nov 2003 23:29:40 +0000
parents 4fc46299e5fb
children d70cfddd8164
comparison
equal deleted inserted replaced
7449:126fceb88bec 7450:685736e14aac
927 927
928 static void 928 static void
929 account_win_destroy_cb(GtkWidget *w, GdkEvent *event, 929 account_win_destroy_cb(GtkWidget *w, GdkEvent *event,
930 AccountPrefsDialog *dialog) 930 AccountPrefsDialog *dialog)
931 { 931 {
932 gtk_widget_destroy(dialog->window);
933
932 if (dialog->user_split_entries != NULL) 934 if (dialog->user_split_entries != NULL)
933 g_list_free(dialog->user_split_entries); 935 g_list_free(dialog->user_split_entries);
934 936
935 if (dialog->protocol_opt_entries != NULL) 937 if (dialog->protocol_opt_entries != NULL)
936 g_list_free(dialog->protocol_opt_entries); 938 g_list_free(dialog->protocol_opt_entries);
945 } 947 }
946 948
947 static void 949 static void
948 cancel_account_prefs_cb(GtkWidget *w, AccountPrefsDialog *dialog) 950 cancel_account_prefs_cb(GtkWidget *w, AccountPrefsDialog *dialog)
949 { 951 {
950 gtk_widget_destroy(dialog->window);
951
952 account_win_destroy_cb(NULL, NULL, dialog); 952 account_win_destroy_cb(NULL, NULL, dialog);
953 } 953 }
954 954
955 static GaimAccount* 955 static GaimAccount*
956 ok_account_prefs_cb(GtkWidget *w, AccountPrefsDialog *dialog) 956 ok_account_prefs_cb(GtkWidget *w, AccountPrefsDialog *dialog)
1157 else { 1157 else {
1158 add_account(accounts_window, dialog->account); 1158 add_account(accounts_window, dialog->account);
1159 gaim_accounts_add(dialog->account); 1159 gaim_accounts_add(dialog->account);
1160 } 1160 }
1161 } 1161 }
1162
1163 gtk_widget_destroy(dialog->window);
1164 1162
1165 ret = dialog->account; 1163 ret = dialog->account;
1166 1164
1167 account_win_destroy_cb(NULL, NULL, dialog); 1165 account_win_destroy_cb(NULL, NULL, dialog);
1168 1166