Module: wine Branch: master Commit: edab5d85c771648cdf798f75bda729edaac917aa URL: http://source.winehq.org/git/wine.git/?a=commit;h=edab5d85c771648cdf798f75bd...
Author: Jacek Caban jacek@codeweavers.com Date: Tue Jul 10 12:17:32 2012 +0200
vbscript: Ignore version flags in GetDispID.
---
dlls/vbscript/tests/run.c | 5 +++++ dlls/vbscript/vbdisp.c | 4 ++++ 2 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/dlls/vbscript/tests/run.c b/dlls/vbscript/tests/run.c index 0e6d6ed..91c45e6 100644 --- a/dlls/vbscript/tests/run.c +++ b/dlls/vbscript/tests/run.c @@ -333,6 +333,11 @@ static void test_disp(IDispatch *disp) ok(id == -1, "id = %d\n", id); SysFreeString(str);
+ str = a2bstr("publicProp"); + hres = IDispatchEx_GetDispID(dispex, str, 0x80000000|fdexNameCaseInsensitive, &public_prop_id); + SysFreeString(str); + ok(hres == S_OK, "GetDispID(publicProp) failed: %08x\n", hres); + IDispatchEx_Release(dispex); }
diff --git a/dlls/vbscript/vbdisp.c b/dlls/vbscript/vbdisp.c index 9005aa8..5f9d70a 100644 --- a/dlls/vbscript/vbdisp.c +++ b/dlls/vbscript/vbdisp.c @@ -24,6 +24,8 @@
WINE_DEFAULT_DEBUG_CHANNEL(vbscript);
+#define FDEX_VERSION_MASK 0xf0000000 + static inline BOOL is_func_id(vbdisp_t *This, DISPID id) { return id < This->desc->func_cnt; @@ -326,6 +328,8 @@ static HRESULT WINAPI DispatchEx_GetDispID(IDispatchEx *iface, BSTR bstrName, DW
TRACE("(%p)->(%s %x %p)\n", This, debugstr_w(bstrName), grfdex, pid);
+ grfdex &= ~FDEX_VERSION_MASK; + if(!This->desc) return E_UNEXPECTED;