On 9/29/10 2:30 PM, Reece Dunn wrote:
On 29 September 2010 11:39, Jacek Cabanjacek@codeweavers.com wrote:
On 9/28/10 9:37 PM, Reece Dunn wrote:
On 28 September 2010 15:14, Jacek Cabanjacek@codeweavers.com wrote:
I am interested in helping out to improve this area -- my aim is to not require the `winetricks ie6` command to get some of these applications (specifically the Big Fish Games client) to a usable state.
Therefore, I am wondering if anyone knows where the best place is to start looking (e.g. known areas of missing functionality) or how to debug applications (and interpret WINEDEBUG output) to identify where the issues are.
There is no single answer. You want mshtml debug channel for most cases. If the problem is with embedding document in an app, then shdocvw is also useful. If you have scripts that don't work (and we use jscript for them), then jscript debug channel is the answer. If you have a problem with loading document, I'd add urlmon,wininet channel.
After some digging around, there appears to be some issues with the jscript.dll implementation:
$ trace:jscript:DispatchEx_QueryInterface
(0x1dad2d0)->(IID_IDispatchJS 0x33d5e8) $ trace:jscript:DispatchEx_AddRef (0x1dad2d0) ref=7 $ trace:jscript:prop_get L"SWFObject" ret {VT_EMPTY} $ trace:jscript:DispatchEx_Release (0x1dad2d0) ref=6 $ trace:jscript:DispatchEx_Release (0x1dad2d0) ref=5 $ fixme:jscript:new_expression_eval throw TypeError The new_expression_eval fixme is because V_VT(&constr) == VT_EMPTY.
Now SWFObject is defined in a<script> file, but there are various script files. For example, given a html file containing:
<script src="a.js"></script> <script src="b.js"></script>
with a.js:
function SWFObject() { this.x = 5; }
and b.js:
var swf = new SWFObject(); // appears to be erroring here alert(swf.x);
Is this supported currently in Wine, or am I going down the wrong track?
It's a known regression. A hack from bug 24365 should work around it.
OK. Thanks. I'll use that to proceed on the issues with Big fish Games.
That's all fine, but all this won't help with fixing Big Fish Games. The problem is probably somewhere else and the question is why the script takes code path resulting in an exception (and even if it's supposed to do so, current exception handling is probably good enough for it).
BTW, the script seems to mess with a flash plugin, that won't work with jscript as we'd have to handle ActiveX controls in MSHTML. That's a hard problem.
a/ dlls/jscript/tests/activex.c -- add a test_jscript_error function
That's not the right place. See exception_test in api.js for exceptions test. It's obviously not testing OnScriptError, but most tests should go there.
Jacek