[PATCH 5/5] jscript: Clear the CODEONLY flag for persistent items when the script is reinitialized.

Jacek Caban jacek at codeweavers.com
Mon Mar 23 19:34:18 CDT 2020


Hi Gabriel,

On 23.03.2020 14:53, Gabriel Ivăncescu wrote:
> diff --git a/dlls/jscript/jscript.c b/dlls/jscript/jscript.c
> index 3fcaab0..eb328d2 100644
> --- a/dlls/jscript/jscript.c
> +++ b/dlls/jscript/jscript.c
> @@ -757,6 +757,9 @@ static HRESULT WINAPI JScript_SetScriptSite(IActiveScript *iface,
>               hres = retrieve_named_item_disp(pass, item);
>               if(FAILED(hres)) return hres;
>           }
> +
> +        /* For some reason, Windows clears the CODEONLY flag */
> +        item->flags &= ~SCRIPTITEM_CODEONLY;


This clearly shows that we're still not interpreting those flags 
correctly and this patch just tries to hide the problem. I think we 
simply shouldn't depend on the flag but rather on item->disp being set. 
See the attached patch (on top of your patches). It solves some of test 
failures that you observed. The remaining problem is that we still store 
IDispatch for visible items. The attached test shows that we probably 
shouldn't.


Thanks,

Jacek

-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch.diff
Type: text/x-patch
Size: 1773 bytes
Desc: not available
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20200324/3017c886/attachment.bin>


More information about the wine-devel mailing list