Module: wine Branch: stable Commit: d313a000354629ea57513cb6d95d7ffae0b0835d URL: http://source.winehq.org/git/wine.git/?a=commit;h=d313a000354629ea57513cb6d9...
Author: Nikolay Sivov nsivov@codeweavers.com Date: Sun Oct 27 12:27:45 2013 +0400
wshom.ocx: Silence failure to query IDispatchEx from IWshShell3.
(cherry picked from commit f3c805be67df81713bd7b6130d03dace50688a49)
---
dlls/wshom.ocx/shell.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/dlls/wshom.ocx/shell.c b/dlls/wshom.ocx/shell.c index bc6a839..17d0306 100644 --- a/dlls/wshom.ocx/shell.c +++ b/dlls/wshom.ocx/shell.c @@ -21,6 +21,7 @@
#include "shellapi.h" #include "shlobj.h" +#include "dispex.h"
#include "wine/debug.h" #include "wine/unicode.h" @@ -576,14 +577,21 @@ static HRESULT WINAPI WshShell3_QueryInterface(IWshShell3 *iface, REFIID riid, v { TRACE("(%s, %p)\n", debugstr_guid(riid), ppv);
+ *ppv = NULL; + if(IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDispatch) || IsEqualGUID(riid, &IID_IWshShell3)) { *ppv = iface; - }else { + } + else if (IsEqualGUID(riid, &IID_IDispatchEx)) + { + return E_NOINTERFACE; + } + else + { FIXME("Unknown iface %s\n", debugstr_guid(riid)); - *ppv = NULL; return E_NOINTERFACE; }