include/comphelper/windowsdebugoutput.hxx |   27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

New commits:
commit 515885f39e648b987cf40df64450803df26d4a29
Author: Tor Lillqvist <t...@collabora.com>
Date:   Wed Feb 21 23:25:30 2018 +0200

    Manually recognize some IIDs that don't have cleartext names in the Registry
    
    Change-Id: I9deadfdd324f9b9014fef8370593e107302ed843

diff --git a/include/comphelper/windowsdebugoutput.hxx 
b/include/comphelper/windowsdebugoutput.hxx
index 28eaab810ff2..d4e3372d5bec 100644
--- a/include/comphelper/windowsdebugoutput.hxx
+++ b/include/comphelper/windowsdebugoutput.hxx
@@ -27,6 +27,11 @@
 #else
 #include <windows.h>
 #endif
+#include <initguid.h>
+
+namespace {
+DEFINE_GUID(IID_IdentityUnmarshal, 0x0000001B, 0x0000, 0x0000, 0xC0, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x46);
+}
 
 template <typename charT, typename traits>
 inline std::basic_ostream<charT, traits>& operator<<(std::basic_ostream<charT, 
traits>& stream,
@@ -70,6 +75,28 @@ inline std::basic_ostream<charT, traits>& 
operator<<(std::basic_ostream<charT, t
                    << "\"";
         }
     }
+    else
+    {
+        // Special case well-known interfaces that pop up a lot, but which 
don't have their name in
+        // the Registry.
+
+        if (IsEqualIID(rIid, IID_IMarshal))
+            stream << "=\"IMarshal\"";
+        else if (IsEqualIID(rIid, IID_INoMarshal))
+            stream << "=\"INoMarshal\"";
+        else if (IsEqualIID(rIid, IID_IdentityUnmarshal))
+            stream << "=\"IdentityUnmarshal\"";
+        else if (IsEqualIID(rIid, IID_IFastRundown))
+            stream << "=\"IdentityUnmarshal\"";
+        else if (IsEqualIID(rIid, IID_IStdMarshalInfo))
+            stream << "=\"IStdMarshalInfo\"";
+        else if (IsEqualIID(rIid, IID_IAgileObject))
+            stream << "=\"IAgileObject\"";
+        else if (IsEqualIID(rIid, IID_IExternalConnection))
+            stream << "=\"IExternalConnection\"";
+        else if (IsEqualIID(rIid, IID_ICallFactory))
+            stream << "=\"ICallFactory\"";
+    }
 
     CoTaskMemFree(pRiid);
     return stream;
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to