Change 20090616-ptw-l by [email protected] on 2009-06-16
16:11:28 EDT
in /Users/ptw/OpenLaszlo/trunk-2
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Make Idle Kernel safer
Bugs Fixed: LPP_8269 Undefined idle events in LzIdleKernel.__update
Technical Reviewer: hminsky (pending)
QA Reviewer: mdemmon (pending)
Details:
Change the add/remove callback calls to work on a copy of the
callback array and atomically replace it when done. This means
that the _update routine called from the browser idle loop does
not have to worry about the callback array entries changing out
from under it.
Add a test that shows an Error (call to the undefined function)
before
the fix, and no error after the fix. Correct test output:
DEBUG: cleanup removed [This is the canvas, 'test1']
DEBUG: cleanup removed [This is the canvas, 'test2']
DEBUG: cleanup removed [This is the canvas, 'test3']
DEBUG: cleanup removed [This is the canvas, 'cleanup']
DEBUG: test3 removed (void 0)
DEBUG: test1 removed (void 0)
DEBUG: test2 removed (void 0)
Tests:
smokecheck
Files:
A test/lpp-8269.lzx
M WEB-INF/lps/lfc/kernel/swf9/LzIdleKernel.as
M WEB-INF/lps/lfc/kernel/LzIdleKernel.lzs
Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20090616-ptw-l.tar