diff options
author | Ted Gould <ted@canonical.com> | 2009-10-06 15:01:54 -0400 |
---|---|---|
committer | Ted Gould <ted@canonical.com> | 2009-10-06 15:01:54 -0400 |
commit | 74996e1b74e945ff90f9dfad68375e0b6f3a84d9 (patch) | |
tree | e7c45a27f375f0402f5f8fc66981caca356f8cfa | |
parent | 5763f8c1c49af3c2435ee8b43fc4625eceb8b13f (diff) | |
download | ayatana-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.c | 7 |
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], ""); |