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