[PATCH 1/6] jscript: Alias arguments properties to real values

Alexandre Julliard julliard at winehq.org
Thu Nov 29 13:17:15 CST 2012


Jacek Caban <jacek at codeweavers.com> writes:

> ---
>  dlls/jscript/dispex.c      |   36 ++++++++++++++--
>  dlls/jscript/function.c    |   98
> ++++++++++++++++++++++++++++++++-----------
>  dlls/jscript/jscript.h     |    3 +
>  dlls/jscript/tests/lang.js |    8 ++++
>  4 files changed, 116 insertions(+), 29 deletions(-)

It doesn't work here:

../../../tools/runtest -q -P wine -M ieframe.dll -T ../../.. -p ieframe_test.exe.so webbrowser.c && touch webbrowser.ok
wine: Unhandled page fault on read access to 0x06c238cc at address 0x564c09e3 (thread 003a), starting debugger...
Unhandled exception: page fault on read access to 0x06c238cc in 32-bit code (0x564c09e3).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:564c09e3 ESP:0032d1d0 EBP:0032d218 EFLAGS:00210246(  R- --  I  Z- -P- )
 EAX:0214bdec EBX:564f89dc ECX:02a7d2f0 EDX:02a7d2f0
 ESI:02c8ef58 EDI:012b5eb8
Stack dump:
0x0032d1d0:  00000008 00000000 00000000 00000004
0x0032d1e0:  00000000 02c8ef58 4d430003 020cf1b0
0x0032d1f0:  00000000 00000001 00000030 00000060
0x0032d200:  00000000 00000003 0000006c 564f89dc
0x0032d210:  020cf210 02c8ef58 0032d278 564b3397
0x0032d220:  02c8ef58 012b5eb8 02a7d2f0 02a7d2f0
Backtrace:
=>0 0x564c09e3 Arguments_idx_get+0x73(jsdisp=0x2c8ef58, idx=0x12b5eb8, res=0x2a7d2f0) [/home/julliard/wine/wine/dlls/jscript/function.c:108] in jscript (0x0032d218)
  1 0x564b3397 prop_get+0xd6(This=0x2c8ef58, prop=0x20cf210, dp=0x32d2a8, r=0x2a7d2f0, caller=(nil)) [/home/julliard/wine/wine/dlls/jscript/dispex.c:450] in jscript (0x0032d278)
  2 0x564b72aa jsdisp_get_idx+0xc9(obj=0x2c8ef58, idx=0, r=0x2a7d2f0) [/home/julliard/wine/wine/dlls/jscript/dispex.c:1399] in jscript (0x0032d2e8)
  3 0x564c1c48 Function_apply+0x2e7(ctx=0x1fe13f0, jsthis=0x32d388, flags=0x1, argc=0x2, argv=0x2ab0f00, r=0x32d568) [/home/julliard/wine/wine/dlls/jscript/function.c:411] in jscript (0x0032d348)
  4 0x564b5f1c invoke_prop_func+0x1ab(This=0x1fd66f8, jsthis=<is not available>, prop=0x1fdbeb8, flags=0x1, argc=0x2, argv=0x2ab0f00, r=0x32d568, caller=(nil)) [/home/julliard/wine/wine/dlls/jscript/dispex.c:384] in jscript (0x0032d3a8)
  5 0x564b5f78 invoke_prop_func+0x207(This=<is not available>, jsthis=<is not available>, prop=0x2d7cce0, flags=0x1, argc=0x2, argv=0x2ab0f00, r=0x32d568, caller=(nil)) [/home/julliard/wine/wine/dlls/jscript/dispex.c:393] in jscript (0x0032d408)
  6 0x564b63a7 disp_call+0xe6(ctx=0x1fe13f0, disp=0x2a7d2a8, id=0x4, flags=0x1, argc=0x2, argv=0x2ab0f00, ret=0x32d568) [/home/julliard/wine/wine/dlls/jscript/dispex.c:1103] in jscript (0x0032d518)
  7 0x564b8a48 interp_call_member+0x117(ctx=<is not available>) [/home/julliard/wine/wine/dlls/jscript/engine.c:1032] in jscript (0x0032d588)
  8 0x564beee9 exec_source+0x1d8(ctx=<is not available>, code=<is not available>, func=<is not available>, from_eval=<is not available>, ret=<is not available>) [/home/julliard/wine/wine/dlls/jscript/engine.c:2485] in jscript (0x0032d628)
  9 0x564c12d0 invoke_source+0x3cf() in jscript (0x0032d6c8)
  10 0x564c1a0c Function_apply+0xab(ctx=0x1fe13f0, jsthis=0x32d768, flags=0x1, argc=0x2, argv=0x2ab1c78, r=0x32d948) [/home/julliard/wine/wine/dlls/jscript/function.c:470] in jscript (0x0032d728)
  11 0x564b5f1c invoke_prop_func+0x1ab(This=0x1fd66f8, jsthis=<is not available>, prop=0x1fdbeb8, flags=0x1, argc=0x2, argv=0x2ab1c78, r=0x32d948, caller=(nil)) [/home/julliard/wine/wine/dlls/jscript/dispex.c:384] in jscript (0x0032d788)
  12 0x564b5f78 invoke_prop_func+0x207(This=<is not available>, jsthis=<is not available>, prop=0x2a96888, flags=0x1, argc=0x2, argv=0x2ab1c78, r=0x32d948, caller=(nil)) [/home/julliard/wine/wine/dlls/jscript/dispex.c:393] in jscript (0x0032d7e8)
  13 0x564b63a7 disp_call+0xe6(ctx=0x1fe13f0, disp=0x2a96800, id=0x2, flags=0x1, argc=0x2, argv=0x2ab1c78, ret=0x32d948) [/home/julliard/wine/wine/dlls/jscript/dispex.c:1103] in jscript (0x0032d8f8)
  14 0x564b8a48 interp_call_member+0x117(ctx=<is not available>) [/home/julliard/wine/wine/dlls/jscript/engine.c:1032] in jscript (0x0032d968)
  15 0x564beee9 exec_source+0x1d8(ctx=<is not available>, code=<is not available>, func=<is not available>, from_eval=<is not available>, ret=<is not available>) [/home/julliard/wine/wine/dlls/jscript/engine.c:2485] in jscript (0x0032da08)
  16 0x564c12d0 invoke_source+0x3cf() in jscript (0x0032daa8)
  17 0x564c1f3a Function_invoke+0xb9(func_this=0x2aa4268, jsthis=(nil), flags=0x1, argc=0x1, argv=0x32dbd0, r=0x32dbc8) [/home/julliard/wine/wine/dlls/jscript/function.c:346] in jscript (0x0032db08)
  18 0x564b60f5 invoke_prop_func+0x384(This=0x2aa4268, jsthis=<is not available>, prop=0x2aa42b0, flags=0x1, argc=0x1, argv=0x32dbd0, r=0x32dbc8, caller=(nil)) [/home/julliard/wine/wine/dlls/jscript/dispex.c:388] in jscript (0x0032db68)
  19 0x564b6b69 DispatchEx_InvokeEx+0x398(iface=0x2aa4268, id=0, lcid=0x409, wFlags=0x1, pdp=0x32dd30, pvarRes=0x32dd10, pei=0x32dc60, pspCaller=(nil)) [/home/julliard/wine/wine/dlls/jscript/dispex.c:693] in jscript (0x0032dc18)
  20 0x55bb08d6 call_disp_func+0xf5(disp=<is not available>, dp=0x32dd30, retv=0x32dd10) [/home/julliard/wine/wine/dlls/mshtml/../../include/dispex.h:299] in mshtml (0x0032dc98)
  21 0x55bb0cd3 call_event_handlers.isra+0x1d2() in mshtml (0x0032dd68)
  22 0x55bb165b fire_event_obj+0x35a(doc=0x1fdb738, eid=EVENTID_LOAD, event_obj=0x1f51d28, target=0x2bc32fc, script_this=0x1fd2700) [/home/julliard/wine/wine/dlls/mshtml/htmlevent.c:1073] in mshtml (0x0032ddf8)
  23 0x55bb1c8d fire_event+0x8c(doc=0x1fdb738, eid=EVENTID_LOAD, set_event=0x1, target=0x2bc32fc, nsevent=0x2c6ef48, script_this=0x1fd2700) [/home/julliard/wine/wine/dlls/mshtml/htmlevent.c:1188] in mshtml (0x0032de28)
  24 0x55bfe7cb handle_load+0xda(iface=0x1fdb958, event=0x2c6ef48) [/home/julliard/wine/wine/dlls/mshtml/nsevents.c:274] in mshtml (0x0032de98)
  25 0x6a6184f8 in xul (+0x9d84f7) (0x01fdb978)
  26 0x00000002 (0x6af902f8)
  27 0x6a61a05c in xul (+0x9da05b) (0x6a61a078)
0x564c09e3 Arguments_idx_get+0x73 [/home/julliard/wine/wine/dlls/jscript/function.c:108] in jscript: movl	0x0(%eax,%edi,4),%eax
108	    return jsdisp_propget_name(arguments->var_obj, arguments->function->func_code->params[idx], res);

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list