Make default folder selection account sensitive
authorAndre Heinecke <aheinecke@gnupg.org>
Fri, 12 Apr 2019 09:15:32 +0000 (11:15 +0200)
committerAndre Heinecke <aheinecke@gnupg.org>
Fri, 12 Apr 2019 09:16:44 +0000 (11:16 +0200)
* src/oomhelp.cpp (is_mail_in_folder): Use the parent folder
store to check for the default folder.

--
This fixes the case that only for one account junk and draft
encryption works.

src/oomhelp.cpp

index 4fd8e5e..fb44301 100644 (file)
@@ -2951,17 +2951,18 @@ is_mail_in_folder (LPDISPATCH mailitem, int folder)
       TRETURN false;
     }
 
-  auto mapi_namespace = MAKE_SHARED (get_oom_object (mailitem, "Session"));
+  auto store = MAKE_SHARED (get_oom_object (mailitem, "Parent.Store"));
 
-  if (!mapi_namespace)
+  if (!store)
     {
-      STRANGEPOINT;
+      log_debug ("%s:%s: Mail has no parent folder. Probably unsafed",
+                 SRCNAME, __func__);
       TRETURN false;
     }
 
   std::string tmp = std::string("GetDefaultFolder(") + std::to_string (folder) +
                     std::string(")");
-  auto target_folder = MAKE_SHARED (get_oom_object (mapi_namespace.get(),
+  auto target_folder = MAKE_SHARED (get_oom_object (store.get(),
                                                     tmp.c_str()));
 
   if (!target_folder)