Jacek Caban (@jacek) commented about dlls/jscript/dispex.c:
{ jsdisp_t *This = impl_from_IWineJSDispatch(iface); jsdisp_free(This);
- }
+}
+static DWORD WINAPI WineJSDispatch_GetPropFlags(IWineJSDispatch *iface, DISPID id) +{
- jsdisp_t *This = impl_from_IWineJSDispatch(iface);
- dispex_prop_t *prop = get_prop(This, id);
- assert(prop != NULL);
- return prop->flags & PROPF_PUBLIC_MASK;
This potentially returns flags of deleted properties, I think that instead of asserting here we should return an error for deleted properties.
More generally, it feels suboptimal that we need two separate calls to JS to check if the prop is deleted (!6721) and get its flags. I can see how a single call doesn't fit current MSHTML internals and that's fine for now, but this is also used by `dispex_prop_name`, for which returning an error here seems right.