Jacek Caban : mshtml: Silence failing QueryInterfaces common for .net applications.

Alexandre Julliard julliard at winehq.org
Thu Apr 13 13:06:09 CDT 2017


Module: wine
Branch: master
Commit: 9141c97d949377c7155f770a7475bca23e1ce911
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=9141c97d949377c7155f770a7475bca23e1ce911

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Thu Apr 13 16:04:41 2017 +0200

mshtml: Silence failing QueryInterfaces common for .net applications.

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/mshtml/dispex.c       | 5 +++++
 dlls/mshtml/htmldoc.c      | 3 ---
 dlls/mshtml/htmllocation.c | 4 ++++
 dlls/mshtml/htmlwindow.c   | 4 ++++
 dlls/mshtml/main.c         | 3 +++
 5 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/dlls/mshtml/dispex.c b/dlls/mshtml/dispex.c
index 2013cee..caaf788 100644
--- a/dlls/mshtml/dispex.c
+++ b/dlls/mshtml/dispex.c
@@ -26,6 +26,7 @@
 #include "winbase.h"
 #include "winuser.h"
 #include "ole2.h"
+#include "mscoree.h"
 
 #include "wine/debug.h"
 
@@ -1675,6 +1676,10 @@ BOOL dispex_query_interface(DispatchEx *This, REFIID riid, void **ppv)
         *ppv = NULL;
     else if(IsEqualGUID(&IID_UndocumentedScriptIface, riid))
         *ppv = NULL;
+    else if(IsEqualGUID(&IID_IMarshal, riid))
+        *ppv = NULL;
+    else if(IsEqualGUID(&IID_IManagedObject, riid))
+        *ppv = NULL;
     else
         return FALSE;
 
diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c
index 8c29b80..4271326 100644
--- a/dlls/mshtml/htmldoc.c
+++ b/dlls/mshtml/htmldoc.c
@@ -4572,9 +4572,6 @@ static BOOL htmldoc_qi(HTMLDocument *This, REFIID riid, void **ppv)
     }else if(IsEqualGUID(&IID_IPersistPropertyBag, riid)) {
         TRACE("(%p)->(IID_IPersistPropertyBag %p) returning NULL\n", This, ppv);
         *ppv = NULL;
-    }else if(IsEqualGUID(&IID_IMarshal, riid)) {
-        TRACE("(%p)->(IID_IMarshal %p) returning NULL\n", This, ppv);
-        *ppv = NULL;
     }else if(IsEqualGUID(&IID_IExternalConnection, riid)) {
         TRACE("(%p)->(IID_IExternalConnection %p) returning NULL\n", This, ppv);
         *ppv = NULL;
diff --git a/dlls/mshtml/htmllocation.c b/dlls/mshtml/htmllocation.c
index 6062964..de66ff5 100644
--- a/dlls/mshtml/htmllocation.c
+++ b/dlls/mshtml/htmllocation.c
@@ -87,6 +87,10 @@ static HRESULT WINAPI HTMLLocation_QueryInterface(IHTMLLocation *iface, REFIID r
         *ppv = &This->IHTMLLocation_iface;
     }else if(IsEqualGUID(&IID_IHTMLLocation, riid)) {
         *ppv = &This->IHTMLLocation_iface;
+    }else if(IsEqualGUID(&IID_IMarshal, riid)) {
+        *ppv = NULL;
+        FIXME("(%p)->(IID_IMarshal %p)\n", This, ppv);
+        return E_NOINTERFACE;
     }else if(dispex_query_interface(&This->dispex, riid, ppv)) {
         return *ppv ? S_OK : E_NOINTERFACE;
     }else {
diff --git a/dlls/mshtml/htmlwindow.c b/dlls/mshtml/htmlwindow.c
index a5db035..7387e10 100644
--- a/dlls/mshtml/htmlwindow.c
+++ b/dlls/mshtml/htmlwindow.c
@@ -184,6 +184,10 @@ static HRESULT WINAPI HTMLWindow2_QueryInterface(IHTMLWindow2 *iface, REFIID rii
         *ppv = &This->ITravelLogClient_iface;
     }else if(IsEqualGUID(&IID_IObjectIdentity, riid)) {
         *ppv = &This->IObjectIdentity_iface;
+    }else if(IsEqualGUID(&IID_IMarshal, riid)) {
+        *ppv = NULL;
+        FIXME("(%p)->(IID_IMarshal %p)\n", This, ppv);
+        return E_NOINTERFACE;
     }else if(dispex_query_interface(&This->inner_window->event_target.dispex, riid, ppv)) {
         assert(!*ppv);
         return E_NOINTERFACE;
diff --git a/dlls/mshtml/main.c b/dlls/mshtml/main.c
index ad6bb2b..262fda6 100644
--- a/dlls/mshtml/main.c
+++ b/dlls/mshtml/main.c
@@ -43,6 +43,7 @@
 #include "mshtml_private.h"
 #include "resource.h"
 #include "pluginhost.h"
+#include "mscoree.h"
 
 WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
 
@@ -588,6 +589,8 @@ const char *debugstr_mshtml_guid(const GUID *iid)
     X(IID_IHTMLPrivateWindow);
     X(IID_IHtmlLoadOptions);
     X(IID_IInternetHostSecurityManager);
+    X(IID_IManagedObject);
+    X(IID_IMarshal);
     X(IID_IMonikerProp);
     X(IID_IObjectIdentity);
     X(IID_IObjectSafety);




More information about the wine-cvs mailing list