diff options
-rw-r--r-- | modules/online-accounts/e-online-accounts-google.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/modules/online-accounts/e-online-accounts-google.c b/modules/online-accounts/e-online-accounts-google.c index 666c407511..424cec24bd 100644 --- a/modules/online-accounts/e-online-accounts-google.c +++ b/modules/online-accounts/e-online-accounts-google.c @@ -139,6 +139,15 @@ online_accounts_google_sync_mail (GoaObject *goa_object, const gchar *string; gboolean new_account = FALSE; + account_list = e_get_account_list (); + account = e_get_account_by_uid (evo_id); + + if (account) { + /* the account is already configured, + do not change user's changes */ + return; + } + /* XXX There's nothing particularly GMail-specific about this. * Maybe break this off into a more generic IMAP/SMTP sync * function and then apply any GMail-specific tweaks. */ @@ -146,9 +155,6 @@ online_accounts_google_sync_mail (GoaObject *goa_object, goa_mail = goa_object_get_mail (goa_object); goa_account = goa_object_get_account (goa_object); - account_list = e_get_account_list (); - account = e_get_account_by_uid (evo_id); - if (account == NULL) { account = g_object_new (E_TYPE_ACCOUNT, NULL); account->uid = g_strdup (evo_id); |