]> granicus.if.org Git - neomutt/commitdiff
imap: login on startup
authorMehdi Abaakouk <sileht@sileht.net>
Thu, 29 Nov 2018 14:09:55 +0000 (15:09 +0100)
committerRichard Russon <rich@flatcap.org>
Thu, 29 Nov 2018 16:55:37 +0000 (16:55 +0000)
This ensure we always have a valid adata.

Closes #1438

imap/imap.c

index af821e611c014a07c97fba95309cfd9af0aa55ff..beee4829784775ec35f002977ee8f56bbc7ff4eb 100644 (file)
@@ -343,8 +343,6 @@ int imap_prepare_mailbox(struct Mailbox *m)
   struct ImapMboxData *mdata;
   struct ImapAccountData *adata = m->account->adata;
 
-  mutt_account_hook(m->realpath);
-
   if (!m->mdata)
   {
     struct Url *url = url_parse(m->path);
@@ -354,9 +352,6 @@ int imap_prepare_mailbox(struct Mailbox *m)
     url_free(&url);
   }
 
-  if (imap_login(adata) < 0)
-    return -1;
-
   return 0;
 }
 
@@ -1899,6 +1894,11 @@ int imap_ac_add(struct Account *a, struct Mailbox *m)
     if (!adata->conn)
       return -1;
 
+    mutt_account_hook(m->realpath);
+
+    if (imap_login(adata) < 0)
+      return -1;
+
     a->magic = MUTT_IMAP;
     a->adata = adata;
     a->free_adata = imap_adata_free;