[empathy] Use empathy_signal_connect_weak



commit 882784309a8bce349edff3632877f62f77003d01
Author: Sjoerd Simons <sjoerd simons collabora co uk>
Date:   Wed Oct 14 12:15:17 2009 -0400

    Use empathy_signal_connect_weak

 libempathy-gtk/empathy-presence-chooser.c |   26 ++++++++++----------------
 1 files changed, 10 insertions(+), 16 deletions(-)
---
diff --git a/libempathy-gtk/empathy-presence-chooser.c b/libempathy-gtk/empathy-presence-chooser.c
index ab48775..9108a58 100644
--- a/libempathy-gtk/empathy-presence-chooser.c
+++ b/libempathy-gtk/empathy-presence-chooser.c
@@ -102,8 +102,6 @@ typedef struct {
 	EmpathyIdle *idle;
 	EmpathyConnectivity *connectivity;
 
-	gulong state_change_signal_id;
-
 	gboolean     editing_status;
 	int          block_set_editing;
 	int          block_changed;
@@ -828,28 +826,28 @@ empathy_presence_chooser_init (EmpathyPresenceChooser *chooser)
 
 	priv->account_manager = empathy_account_manager_dup_singleton ();
 
-	g_signal_connect (priv->account_manager, "account-created",
+	empathy_signal_connect_weak (priv->account_manager, "account-created",
 		G_CALLBACK (presence_chooser_account_manager_account),
-		chooser);
-	g_signal_connect (priv->account_manager, "account-deleted",
+		G_OBJECT (chooser));
+	empathy_signal_connect_weak (priv->account_manager, "account-deleted",
 		G_CALLBACK (presence_chooser_account_manager_account),
-		chooser);
-	g_signal_connect (priv->account_manager, "account-enabled",
+		G_OBJECT (chooser));
+	empathy_signal_connect_weak (priv->account_manager, "account-enabled",
 		G_CALLBACK (presence_chooser_account_manager_account),
-		chooser);
-	g_signal_connect (priv->account_manager, "account-disabled",
+		G_OBJECT (chooser));
+	empathy_signal_connect_weak (priv->account_manager, "account-disabled",
 		G_CALLBACK (presence_chooser_account_manager_account),
-		chooser);
+		G_OBJECT (chooser));
 
 	/* FIXME: this string sucks */
 	gtk_widget_set_tooltip_text (GTK_WIDGET (chooser),
 		_("Set your presence and current status"));
 
 	priv->connectivity = empathy_connectivity_dup_singleton ();
-	priv->state_change_signal_id = g_signal_connect (priv->connectivity,
+	empathy_signal_connect_weak (priv->connectivity,
 		"state-change",
 		G_CALLBACK (presence_chooser_connectivity_state_change),
-		chooser);
+		G_OBJECT (chooser));
 
 	presence_chooser_update_sensitivity (chooser);
 }
@@ -877,10 +875,6 @@ presence_chooser_finalize (GObject *object)
 					      object);
 	g_object_unref (priv->idle);
 
-	g_signal_handler_disconnect (priv->connectivity,
-				     priv->state_change_signal_id);
-	priv->state_change_signal_id = 0;
-
 	g_object_unref (priv->connectivity);
 
 	G_OBJECT_CLASS (empathy_presence_chooser_parent_class)->finalize (object);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]