From: Sergio Villar Senin Date: Tue, 22 Sep 2009 17:10:31 +0000 (+0200) Subject: Fixes NB#125495, do not show account settings dialog if the settings are ok X-Git-Tag: 3.0.17-rc61~1 X-Git-Url: http://git.maemo.org/git/?p=modest;a=commitdiff_plain;h=2192cfec8b077948c89f2b8ea829ffc112b3a0e6 Fixes NB#125495, do not show account settings dialog if the settings are ok and authentication fails due to timeouts --- diff --git a/src/modest-tny-account-store.c b/src/modest-tny-account-store.c index a5a33d6..1772c02 100644 --- a/src/modest-tny-account-store.c +++ b/src/modest-tny-account-store.c @@ -1154,27 +1154,31 @@ modest_tny_account_store_alert (TnyAccountStore *self, else if (error->code == TNY_SERVICE_ERROR_AUTHENTICATE || error->code == TNY_SERVICE_ERROR_CONNECT) { TnyDevice *device = modest_runtime_get_device (); - - if (error->code == TNY_SERVICE_ERROR_CONNECT) { - gboolean success; - success = modest_account_mgr_get_server_account_username_has_succeeded (modest_runtime_get_account_mgr (), - tny_account_get_id (account)); - if (success) - goto end; + gboolean success; + + /* If we get the connection error after establishing a + proper connection then do not show the dialog as we + are probably behind a firewall, or in a network + with connection issues. We just keep this code to + detect situations were the user does not enter the + server info properly */ + success = modest_account_mgr_get_server_account_username_has_succeeded (modest_runtime_get_account_mgr (), + tny_account_get_id (account)); + + if (!success) { + + modest_platform_run_information_dialog (NULL, prompt, TRUE); + + /* Show the account dialog. Checking the online status + allows us to minimize the number of times that we + incorrectly show the dialog */ + if (tny_device_is_online (device)) + show_wrong_password_dialog (account, + (error->code == TNY_SERVICE_ERROR_CONNECT) ? FALSE : TRUE); + retval = TRUE; } - - modest_platform_run_information_dialog (NULL, prompt, TRUE); - - /* Show the account dialog. Checking the online status - allows us to minimize the number of times that we - incorrectly show the dialog */ - if (tny_device_is_online (device)) - show_wrong_password_dialog (account, - (error->code == TNY_SERVICE_ERROR_CONNECT) ? FALSE : TRUE); - - retval = TRUE; } - end: + g_debug ("%s: error code %d (%s", __FUNCTION__, error->code, error->message); if (prompt)