]> granicus.if.org Git - neomutt/commitdiff
imap: remove imap_conn_find from imap_completes
authorMehdi Abaakouk <sileht@sileht.net>
Thu, 8 Nov 2018 14:14:03 +0000 (15:14 +0100)
committerRichard Russon <rich@flatcap.org>
Sat, 10 Nov 2018 13:24:26 +0000 (13:24 +0000)
imap/imap.c

index a9f61d1a87390bf5eeabcbbe6c277eea5a0297ba..c1a27abdc612541d47003a66061d16e42be9d756 100644 (file)
@@ -1929,9 +1929,18 @@ int imap_complete(char *buf, size_t buflen, char *path)
     return complete_hosts(buf, buflen);
   }
 
-  /* don't open a new socket just for completion. Instead complete over
-   * known mailboxes/hooks/etc */
-  adata = imap_conn_find(&(mx.account), MUTT_IMAP_CONN_NONEW);
+  struct MailboxNode *np = NULL;
+  STAILQ_FOREACH(np, &AllMailboxes, entries)
+  {
+    if (np->m->magic != MUTT_IMAP)
+      continue;
+
+    adata = np->m->account->adata;
+    if (adata->mbox_name && (imap_mxcmp(path, adata->mbox_name) == 0))
+      break;
+    adata = NULL;
+  }
+
   if (!adata)
   {
     FREE(&mx.mbox);