[empathy] account-widget: ensure that the object stays alive during the tp_account_manager_prepare_async call
- From: Guillaume Desmottes <gdesmott src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [empathy] account-widget: ensure that the object stays alive during the tp_account_manager_prepare_async call
- Date: Fri, 25 Dec 2009 18:07:02 +0000 (UTC)
commit 9ee5a2d0ec80e655cb834f8f95603f572c2f87f9
Author: Guillaume Desmottes <guillaume desmottes collabora co uk>
Date: Tue Dec 22 15:37:15 2009 +0000
account-widget: ensure that the object stays alive during the tp_account_manager_prepare_async call
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 216a365..4747c8c 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);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]