]> git.0d.be Git - empathy.git/commitdiff
Use empathy_signal_connect_weak
authorSjoerd Simons <sjoerd.simons@collabora.co.uk>
Wed, 14 Oct 2009 16:15:17 +0000 (12:15 -0400)
committerSjoerd Simons <sjoerd.simons@collabora.co.uk>
Wed, 14 Oct 2009 16:54:31 +0000 (12:54 -0400)
libempathy-gtk/empathy-presence-chooser.c

index ab48775fae76f37f155c749f0689d6721325048f..9108a58ecfca78d82d8ed76993ebbc1067f47224 100644 (file)
@@ -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);