vbscript: Ignore version flags in GetDispID.
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 @@
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 @@
TRACE("(%p)->(%s %x %p)\n", This, debugstr_w(bstrName), grfdex, pid);
+ grfdex &= ~FDEX_VERSION_MASK;
+
if(!This->desc)
return E_UNEXPECTED;