changeset 18236:f5a03ebb054f

Fix a crash after you close the status window, and change the status.
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Sat, 23 Jun 2007 05:33:42 +0000
parents d359e5f3ee87
children 2a5c5d675789
files pidgin/gtksavedstatuses.c
diffstat 1 files changed, 5 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/pidgin/gtksavedstatuses.c	Sat Jun 23 03:20:02 2007 +0000
+++ b/pidgin/gtksavedstatuses.c	Sat Jun 23 05:33:42 2007 +0000
@@ -658,17 +658,16 @@
 					 G_CALLBACK(status_window_close_cb), dialog);
 
 	purple_signal_connect(purple_savedstatuses_get_handle(),
-			"savedstatus-changed", dialog,
+			"savedstatus-changed", status_window,
 			PURPLE_CALLBACK(current_status_changed), dialog);
-
 	purple_signal_connect(purple_savedstatuses_get_handle(),
-			"savedstatus-added", dialog,
+			"savedstatus-added", status_window,
 			PURPLE_CALLBACK(saved_status_updated_cb), dialog);
 	purple_signal_connect(purple_savedstatuses_get_handle(),
-			"savedstatus-deleted", dialog,
+			"savedstatus-deleted", status_window,
 			PURPLE_CALLBACK(saved_status_updated_cb), dialog);
 	purple_signal_connect(purple_savedstatuses_get_handle(),
-			"savedstatus-modified", dialog,
+			"savedstatus-modified", status_window,
 			PURPLE_CALLBACK(saved_status_updated_cb), dialog);
 
 	gtk_widget_show_all(win);
@@ -685,6 +684,7 @@
 
 	purple_request_close_with_handle(status_window);
 	purple_notify_close_with_handle(status_window);
+	purple_signals_disconnect_by_handle(status_window);
 	g_free(status_window);
 	status_window = NULL;
 }