X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fmodest-tny-account-store.c;h=d93da11e863ca820d1bde133e29d6fb20250b185;hb=5b745b2530945a03a3901d3d93d38fcda48fb163;hp=a2dee462c43191e275beba0b635bff720331abc9;hpb=7ce8c45b7110d79e5f36ef4383a436f698a774bf;p=modest diff --git a/src/modest-tny-account-store.c b/src/modest-tny-account-store.c index a2dee46..d93da11 100644 --- a/src/modest-tny-account-store.c +++ b/src/modest-tny-account-store.c @@ -244,6 +244,24 @@ account_list_free (GSList *accounts) g_slist_free (accounts); } + + +/* disconnect the list of TnyAccounts */ +static void +account_list_disconnect (GSList *accounts) +{ + GSList *cursor = accounts; + + g_printerr ("modest: DEBUG disconnecting all accounts\n"); + while (cursor) { + if (TNY_IS_CAMEL_ACCOUNT(cursor->data)) /* check twice... */ + tny_camel_account_set_online (TNY_CAMEL_ACCOUNT(cursor->data), FALSE, NULL); + cursor = g_slist_next (cursor); + } +} + + + static void recreate_all_accounts (ModestTnyAccountStore *self) { @@ -544,6 +562,10 @@ modest_tny_account_store_finalize (GObject *obj) priv->device = NULL; } + /* disconnect all accounts when we are destroyed */ + account_list_disconnect (priv->store_accounts); + account_list_disconnect (priv->transport_accounts); + /* this includes the local folder */ account_list_free (priv->store_accounts); priv->store_accounts = NULL; @@ -962,8 +984,10 @@ modest_tny_account_store_alert (TnyAccountStore *self, TnyAlertType type, * specific dialog messages from Chapter 12 of the UI spec. */ case TNY_ACCOUNT_STORE_ERROR_UNKNOWN_ALERT: -/* g_debug ("%s: Handling GError domain=%d, code=%d, message=%s", */ -/* __FUNCTION__, error->domain, error->code, error->message); */ + /* This debug output is useful. Please keep it uncommented until + * we have fixed the problems in this function: */ + g_debug ("%s: Handling GError domain=%d, code=%d, message=%s", + __FUNCTION__, error->domain, error->code, error->message); /* TODO: Remove the internal error message for the real release. * This is just so the testers can give us more information: */