Module: wine Branch: master Commit: 9141c97d949377c7155f770a7475bca23e1ce911 URL: http://source.winehq.org/git/wine.git/?a=commit;h=9141c97d949377c7155f770a74...
Author: Jacek Caban jacek@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@codeweavers.com Signed-off-by: Alexandre Julliard julliard@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);