Fixed a couple of G_CRITICAL's while creating accounts
authorSergio Villar Senín <svillar@igalia.com>
Wed, 13 Jan 2010 11:56:58 +0000 (12:56 +0100)
committerSergio Villar Senín <svillar@igalia.com>
Wed, 13 Jan 2010 15:48:59 +0000 (16:48 +0100)
src/modest-account-mgr-helpers.c

index 9a96912..8350a21 100644 (file)
@@ -82,21 +82,23 @@ modest_account_mgr_get_signature (ModestAccountMgr *self,
 
 ModestProtocolType modest_account_mgr_get_store_protocol (ModestAccountMgr *self, const gchar* name)
 {
-       ModestProtocolType result = MODEST_PROTOCOLS_STORE_POP; /* Arbitrary default */
-       
+       ModestProtocolType result = MODEST_PROTOCOL_REGISTRY_TYPE_INVALID;
        gchar *server_account_name = modest_account_mgr_get_string (self, name,
                                                                   MODEST_ACCOUNT_STORE_ACCOUNT,
                                                                   FALSE);
        if (server_account_name) {
-              ModestServerAccountSettings* server_settings = 
+              ModestServerAccountSettings* server_settings =
                        modest_account_mgr_load_server_settings (self, server_account_name, FALSE);
-               result = modest_server_account_settings_get_protocol (server_settings);
-              
-               g_object_unref (server_settings);
-               
+
+              /* Easy setup wizard precreates accounts without
+                 settings so this could happen */
+              if (server_settings) {
+                      result = modest_server_account_settings_get_protocol (server_settings);
+                      g_object_unref (server_settings);
+              }
                g_free (server_account_name);
        }
-       
+
        return result;
 }