Actually I should also recompile the developer's console, because
embednew.js has been changed. (Not too important because the console
uses wmode=window, whereas __mouseUpOutsideHandler() is only called for
wmode=transparent/opaque.) But the build target of the developer's
console doesn't work for windows (it calls a *nix shell script). I'm
going to fix that first.
Change 20100529-bargull-HeY by barg...@bargull02 on 2010-05-29 10:54:19
in /home/anba/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Make LzMouseKernel available from browser in non-debug
Bugs Fixed: LPP-9052 (uncaught error in swf10 non-debug mode when
resizing a window and the mouse moves outside the browser window)
Technical Reviewer: ptw
QA Reviewer: max
Details:
LzUtilsClass#safeEval() uses globalValue() which uses
flash.utils.getDefinitionByName() to find global definitions. But
flash.utils.getDefinitionByName can only find global definitions which
are public, that means LzMouseKernel needs to be changed to a public class.
UPDATE:
lz.embed now longer calls directly a kernel method, instead it calls the
new method "lz.GlobalMouse.__mouseUpOutsideHandler()" which acts as a
trampoline for "L
zMouseKernel.__mouseUpOutsideHandler()"
This addresses Tucker's review comment:
Yes, I think that is a better approach.
> We could do the same approach as for lz.Keys.__browserTabEvent or
lz.Keys.__allKeysUp, so add a trampoline to lz.GlobalMouse which calls
LzMouseKernel.__mouseUpOutsideHandler().
Tests:
lz.embed.applications.lzapp.callMethod('lz.GlobalMouse.__mouseUpOutsideHandler()')
works for non-debug
tests from LPP-7724
Files:
M lps/includes/source/embednew.js
M WEB-INF/lps/lfc/services/LzGlobalMouse.lzs
Changeset:
http://svn.openlaszlo.org/openlaszlo/patches/20100529-bargull-HeY.tar