[git] GpgOL - branch, master, updated. gpgol-2.2.0-36-g1fbcd7c

by Andre Heinecke cvs at cvs.gnupg.org
Fri Jul 6 12:01:09 CEST 2018


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GnuPG extension for MS Outlook".

The branch, master has been updated
       via  1fbcd7cbfca750057fd8cb620257adb0a8f201ca (commit)
       via  d89d06bfce3e4ebb0b86803431ffdd6ead9edd41 (commit)
       via  0c12a8d021cde4c7686887549eceb058fe3b26d4 (commit)
      from  61956b72ebf422d637c3aca934b4a027f791b862 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 1fbcd7cbfca750057fd8cb620257adb0a8f201ca
Author: Andre Heinecke <aheinecke at intevation.de>
Date:   Fri Jul 6 11:54:11 2018 +0200

    Switch back to old check for reading pane for ol16
    
    * src/ribbon-callbacks.cpp (get_mail_from_control): Use the
    same codepath as OL2010 and 13 for 2016 again, too.
    
    --
    The crash in Outlook 2016 started to appear at some point.
    Now after various updates to Outlook I can no longer reproduce it.
    As the previewpane.wordeditor is not reliable. see:
    GnuPG-Bug-Id: T4056
    
    We disable that codepath again. The crash report was
    GnuPG-Bug-Id: T3484

diff --git a/src/ribbon-callbacks.cpp b/src/ribbon-callbacks.cpp
index c38dd55..e31d208 100644
--- a/src/ribbon-callbacks.cpp
+++ b/src/ribbon-callbacks.cpp
@@ -368,19 +368,28 @@ get_mail_from_control (LPDISPATCH ctrl, bool *none_selected)
     }
   else if (!strcmp (ctx_name.c_str(), "_Explorer"))
     {
-      if (g_ol_version_major >= 16)
+      /* Avoid showing wrong crypto state if we don't have a reading
+         pane. In that case the parser will finish for a mail which is gone
+         and the crypto state will not get updated. */
+      if (0 /*g_ol_version_major >= 16 */)
         {
-          // Avoid showing wrong crypto state if we don't have a reading
-          // pane. In that case the parser will finish for a mail which is gone
-          // and the crypto state will not get updated.
-          //
-          //
-          // Somehow latest Outlook 2016 crashes when accessing the current view
-          // of the Explorer. This is even reproducible with
-          // GpgOL disabled and only with Outlook Spy active. If you select
-          // the explorer of an Outlook.com resource and then access
-          // the CurrentView and close the CurrentView again in Outlook Spy
-          // outlook crashes.
+          /* Some Versions of Outlook 2016 crashed when accessing the current view
+             of the Explorer. This was even reproducible with
+             GpgOL disabled and only with Outlook Spy active. If you selected
+             the explorer of an Outlook.com resource and then access
+             the CurrentView and close the CurrentView again in Outlook Spy
+             outlook crashes. See: T3484
+
+             The crash no longer occured at least since build 10228. As
+             I'm not sure which Version fixed the crash we don't do a version
+             check and just use the same codepath as for Outlook 2010 and
+             2013 again.
+
+             Accessing PreviewPane.WordEditor is not a good solution here as
+             it requires "Microsoft VBA for Office" (See T4056 ).
+             A possible solution for that might be to check if
+             "Mail.GetInspector().WordEditor()" returns NULL. In that case we
+             know that we also won't get a WordEditor in the preview pane. */
           LPDISPATCH prevEdit = get_oom_object (context, "PreviewPane.WordEditor");
           gpgol_release (prevEdit);
           if (!prevEdit)
@@ -414,6 +423,7 @@ get_mail_from_control (LPDISPATCH ctrl, bool *none_selected)
                 }
             }
         }
+
       if (!*none_selected)
         {
           /* Accessing the selection item can trigger a load event

commit d89d06bfce3e4ebb0b86803431ffdd6ead9edd41
Author: Andre Heinecke <aheinecke at intevation.de>
Date:   Fri Jul 6 11:16:19 2018 +0200

    Add log_addins oomhelp function
    
    * src/oomhelp.cpp, src/oomhelp.h (log_addins): New.
    (get_oom_object): Debug dispid.
    
    --
    I could not find a place where the call to Item(x) does
    not result in the general 80020009 exception. Strange.
    There is something fishy here because "Item" has dispid 0. But
    this is also what OutlookSpy shows.

diff --git a/src/oomhelp.cpp b/src/oomhelp.cpp
index b0097d0..0826f49 100644
--- a/src/oomhelp.cpp
+++ b/src/oomhelp.cpp
@@ -316,10 +316,10 @@ get_oom_object (LPDISPATCH pStart, const char *fullname)
         SysFreeString (parmstr);
       if (hr != S_OK || vtResult.vt != VT_DISPATCH)
         {
-          log_debug ("%s:%s: failure: '%s' p=%p vt=%d hr=0x%x argErr=0x%x",
+          log_debug ("%s:%s: failure: '%s' p=%p vt=%d hr=0x%x argErr=0x%x dispid=0x%x",
                      SRCNAME, __func__,
                      name, vtResult.pdispVal, vtResult.vt, (unsigned int)hr,
-                     (unsigned int)argErr);
+                     (unsigned int)argErr, (unsigned int)dispid);
           dump_excepinfo (execpinfo);
           VariantClear (&vtResult);
           gpgol_release (pDisp);
@@ -2119,3 +2119,60 @@ get_ol_ui_language ()
   VariantClear (&var);
   return result;
 }
+
+void
+log_addins ()
+{
+  LPDISPATCH app = GpgolAddin::get_instance ()->get_application ();
+
+  if (!app)
+    {
+      TRACEPOINT;
+      return;
+   }
+
+  LPDISPATCH addins = get_oom_object (app, "COMAddins");
+
+  if (!addins)
+    {
+      TRACEPOINT;
+      return;
+    }
+
+  std::string activeAddins;
+  int count = get_oom_int (addins, "Count");
+  for (int i = 1; i <= count; i++)
+    {
+      std::string item = std::string ("Item(") + std::to_string (i) + ")";
+
+      LPDISPATCH addin = get_oom_object (addins, item.c_str ());
+
+      if (!addin)
+        {
+          TRACEPOINT;
+          continue;
+        }
+      bool connected = get_oom_bool (addin, "Connect");
+      if (!connected)
+        {
+          gpgol_release (addin);
+          continue;
+        }
+
+      char *progId = get_oom_string (addin, "ProgId");
+      gpgol_release (addin);
+
+      if (!progId)
+        {
+          TRACEPOINT;
+          continue;
+        }
+      activeAddins += std::string (progId) + "\n";
+      xfree (progId);
+    }
+  gpgol_release (addins);
+
+  log_debug ("%s:%s:Active Addins:\n%s", SRCNAME, __func__,
+             activeAddins.c_str ());
+  return;
+}
diff --git a/src/oomhelp.h b/src/oomhelp.h
index 8b8c7a4..d4fd0f5 100644
--- a/src/oomhelp.h
+++ b/src/oomhelp.h
@@ -339,6 +339,9 @@ LPDISPATCH create_mail (void);
 
 LPDISPATCH get_account_for_mail (const char *mbox);
 
+/* Print all active addins to log */
+void log_addins (void);
+
 /* Sender fallbacks. All return either null or a malloced address. */
 char *get_sender_CurrentUser (LPDISPATCH mailitem);
 char *get_sender_Sender (LPDISPATCH mailitem);

commit 0c12a8d021cde4c7686887549eceb058fe3b26d4
Author: Andre Heinecke <aheinecke at intevation.de>
Date:   Fri Jul 6 11:15:12 2018 +0200

    Add missing i18n for conf dialog
    
    * src/addin-options.cpp (i18n_noops): Add another option string.

diff --git a/src/addin-options.cpp b/src/addin-options.cpp
index 0286746..6d3da45 100644
--- a/src/addin-options.cpp
+++ b/src/addin-options.cpp
@@ -53,6 +53,7 @@ i18n_noops[] = {
        "attachments as PGP/Inline"),
     N_("S&elect crypto settings automatically "
        "for reply and forward"),
+    N_("&Prefer S/MIME when automatically resolving recipients"),
 
     /* Tooltips */
     N_("Enable or disable any automated key handling."),

-----------------------------------------------------------------------

Summary of changes:
 src/addin-options.cpp    |  1 +
 src/oomhelp.cpp          | 61 ++++++++++++++++++++++++++++++++++++++++++++++--
 src/oomhelp.h            |  3 +++
 src/ribbon-callbacks.cpp | 34 +++++++++++++++++----------
 4 files changed, 85 insertions(+), 14 deletions(-)


hooks/post-receive
-- 
GnuPG extension for MS Outlook
http://git.gnupg.org




More information about the Gnupg-commits mailing list