Commit e5011edd authored by Xavier Claessens's avatar Xavier Claessens

Create the EmpathyContactMonitor lazily if needed.

svn path=/trunk/; revision=2099
parent d928abd9
......@@ -191,7 +191,9 @@ contact_manager_finalize (GObject *object)
object);
g_object_unref (priv->account_manager);
g_object_unref (priv->contact_monitor);
if (priv->contact_monitor) {
g_object_unref (priv->contact_monitor);
}
}
static void
......@@ -218,7 +220,7 @@ empathy_contact_manager_init (EmpathyContactManager *manager)
(GDestroyNotify) g_object_unref,
(GDestroyNotify) g_object_unref);
priv->account_manager = empathy_account_manager_dup_singleton ();
priv->contact_monitor = empathy_contact_monitor_new_for_proxy (EMPATHY_CONTACT_LIST (manager));
priv->contact_monitor = NULL;
g_signal_connect (priv->account_manager,
"account-connection-changed",
......@@ -333,6 +335,10 @@ contact_manager_get_monitor (EmpathyContactList *manager)
{
EmpathyContactManagerPriv *priv = GET_PRIV (manager);
if (priv->contact_monitor == NULL) {
priv->contact_monitor = empathy_contact_monitor_new_for_iface (manager);
}
return priv->contact_monitor;
}
......
......@@ -259,6 +259,10 @@ tp_chat_get_monitor (EmpathyContactList *list)
priv = GET_PRIV (list);
if (priv->contact_monitor == NULL) {
priv->contact_monitor = empathy_contact_monitor_new_for_iface (list);
}
return priv->contact_monitor;
}
......@@ -908,7 +912,10 @@ tp_chat_finalize (GObject *object)
g_object_unref (priv->group);
}
g_object_unref (priv->contact_monitor);
if (priv->contact_monitor) {
g_object_unref (priv->contact_monitor);
}
g_object_unref (priv->factory);
g_object_unref (priv->user);
g_object_unref (priv->account);
......@@ -1112,7 +1119,7 @@ empathy_tp_chat_init (EmpathyTpChat *chat)
EMPATHY_TYPE_TP_CHAT, EmpathyTpChatPriv);
chat->priv = priv;
priv->contact_monitor = empathy_contact_monitor_new_for_proxy (EMPATHY_CONTACT_LIST (chat));
priv->contact_monitor = NULL;
}
static void
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment