Do not release old ref in refCurrentItem
authorAndre Heinecke <aheinecke@intevation.de>
Thu, 6 Sep 2018 15:15:33 +0000 (17:15 +0200)
committerAndre Heinecke <aheinecke@intevation.de>
Thu, 6 Sep 2018 15:15:33 +0000 (17:15 +0200)
* src/mail.cpp (Mail::refCurrentItem): Do not release
existing ref.

--
This was stupid. Releasing the ref there could trigger
the unload and so lead to crashes.

Happliy the case that refCurrentItem was called multiple
times did only exist for close and the anyway instable
MAPI SubmitMessage codepath.

src/mail.cpp

index a3ec7ac..ba79e17 100644 (file)
@@ -3486,7 +3486,9 @@ Mail::refCurrentItem()
 {
   if (m_currentItemRef)
     {
-      gpgol_release (m_currentItemRef);
+      log_debug ("%s:%s: Current item multi ref. Bug?",
+                 SRCNAME, __func__, count);
+      return;
     }
   /* This prevents a crash in Outlook 2013 when sending a mail as it
    * would unload too early.