aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Gould <ted@canonical.com>2009-10-06 15:01:54 -0400
committerTed Gould <ted@canonical.com>2009-10-06 15:01:54 -0400
commit74996e1b74e945ff90f9dfad68375e0b6f3a84d9 (patch)
treee7c45a27f375f0402f5f8fc66981caca356f8cfa
parent5763f8c1c49af3c2435ee8b43fc4625eceb8b13f (diff)
downloadayatana-indicator-session-74996e1b74e945ff90f9dfad68375e0b6f3a84d9.tar.gz
ayatana-indicator-session-74996e1b74e945ff90f9dfad68375e0b6f3a84d9.tar.bz2
ayatana-indicator-session-74996e1b74e945ff90f9dfad68375e0b6f3a84d9.zip
Making it so that the manager only gets created if the status is set.
-rw-r--r--src/status-provider-mc5.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/status-provider-mc5.c b/src/status-provider-mc5.c
index 813ce3e..671e459 100644
--- a/src/status-provider-mc5.c
+++ b/src/status-provider-mc5.c
@@ -113,8 +113,8 @@ status_provider_mc5_init (StatusProviderMC5 *self)
{
StatusProviderMC5Private * priv = STATUS_PROVIDER_MC5_GET_PRIVATE(self);
- priv->status = STATUS_PROVIDER_STATUS_OFFLINE;
- priv->manager = EMPATHY_ACCOUNT_MANAGER(g_object_new(EMPATHY_TYPE_ACCOUNT_MANAGER, NULL));
+ priv->status = STATUS_PROVIDER_STATUS_DISCONNECTED;
+ priv->manager = NULL;
g_signal_connect(G_OBJECT(priv->manager), "global-presence-changed", G_CALLBACK(presence_changed), self);
@@ -169,8 +169,7 @@ set_status (StatusProvider * sp, StatusProviderStatus status)
{
StatusProviderMC5Private * priv = STATUS_PROVIDER_MC5_GET_PRIVATE(sp);
if (priv->manager == NULL) {
- priv->status = STATUS_PROVIDER_STATUS_DISCONNECTED;
- return;
+ priv->manager = EMPATHY_ACCOUNT_MANAGER(g_object_new(EMPATHY_TYPE_ACCOUNT_MANAGER, NULL));
}
empathy_account_manager_request_global_presence(priv->manager, sp_to_tp_map[status], sp_to_mc_map[status], "");