diff options
-rw-r--r-- | libempathy-gtk/empathy-account-widget.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libempathy-gtk/empathy-account-widget.c b/libempathy-gtk/empathy-account-widget.c index 216a36571..4747c8c9e 100644 --- a/libempathy-gtk/empathy-account-widget.c +++ b/libempathy-gtk/empathy-account-widget.c @@ -1343,7 +1343,7 @@ account_manager_ready_cb (GObject *source_object, { DEBUG ("Failed to prepare account manager: %s", error->message); g_error_free (error); - return; + goto out; } state = tp_account_manager_get_most_available_presence (account_manager, NULL, @@ -1352,6 +1352,9 @@ account_manager_ready_cb (GObject *source_object, /* simulate a presence change so the apply button will be changed * if needed */ presence_changed_cb (account_manager, state, NULL, NULL, self); + +out: + g_object_unref (self); } #define WIDGET(cm, proto) \ @@ -1556,6 +1559,7 @@ do_constructed (GObject *obj) /* dup and init the account-manager */ priv->account_manager = tp_account_manager_dup (); + g_object_ref (self); tp_account_manager_prepare_async (priv->account_manager, NULL, account_manager_ready_cb, self); |