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

Reply via email to