diff options
Diffstat (limited to 'src/empathy-status-icon.c')
-rw-r--r-- | src/empathy-status-icon.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/empathy-status-icon.c b/src/empathy-status-icon.c index a4b01b7c0..f6c63c537 100644 --- a/src/empathy-status-icon.c +++ b/src/empathy-status-icon.c @@ -306,14 +306,20 @@ status_icon_set_visibility (EmpathyStatusIcon *icon, empathy_window_iconify (priv->window, priv->icon); } else { GList *accounts; + GList *l; + gboolean one_enabled = FALSE; empathy_window_present (GTK_WINDOW (priv->window), TRUE); /* Show the accounts dialog if there is no enabled accounts */ - accounts = mc_accounts_list_by_enabled (TRUE); - if (accounts) { - mc_accounts_list_free (accounts); - } else { + accounts = empathy_account_manager_dup_accounts (priv->account_manager); + for (l = accounts ; l != NULL ; l = g_list_next (l)) { + one_enabled = empathy_account_is_enabled (EMPATHY_ACCOUNT (l->data)) + || one_enabled; + g_object_unref (l->data); + } + g_list_free (accounts); + if (!one_enabled) { DEBUG ("No enabled account, Showing account dialog"); empathy_accounts_dialog_show (GTK_WINDOW (priv->window), NULL); } @@ -484,7 +490,7 @@ status_icon_create_menu (EmpathyStatusIcon *icon) static void status_icon_connection_changed_cb (EmpathyAccountManager *manager, - McAccount *account, + EmpathyAccount *account, TpConnectionStatusReason reason, TpConnectionStatus current, TpConnectionStatus previous, |