[Laszlo-checkins] r7786 - openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf
ptw@openlaszlo.org
ptw at openlaszlo.org
Wed Jan 9 09:22:21 PST 2008
Author: ptw
Date: 2008-01-09 09:22:19 -0800 (Wed, 09 Jan 2008)
New Revision: 7786
Modified:
openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf/LzSprite.as
Log:
Change 20080109-ptw-G by ptw at dueling-banjos.local on 2008-01-09 12:11:23 EST
in /Users/ptw/OpenLaszlo/ringding-clean
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Fixing a hole where the rain gets in
Bugs Fixed:
LPP-5337 'Multiframe resource assigned via $style within a view that is init stage late runs a bit and gets orphaned in onidle'
Technical Reviewer: max (message://<47844FEA.3000208@openlaszlo.org>)
QA Reviewer: mdemmon (pending)
Details:
Consider the case where tracking is stopped before checkPlayStatus
gets to run: Instead of using callOnIdle, which cannot be
cancelled, register on onidle, so you can be cancelled.
Tests:
Test case from bug no longer leaves delegates on idle queue
Modified: openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf/LzSprite.as
===================================================================
--- openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf/LzSprite.as 2008-01-09 16:36:47 UTC (rev 7785)
+++ openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf/LzSprite.as 2008-01-09 17:22:19 UTC (rev 7786)
@@ -1,7 +1,7 @@
/**
* LzSprite.as
*
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @topic Kernel
@@ -1309,6 +1309,7 @@
this.updatePlayStatus();
this.__LZtracking = false;
this.updatePlayDel.unregisterAll();
+ this.checkPlayStatusDel.unregisterAll();
}
@@ -1364,7 +1365,7 @@
if (('isaudio' in this.getMCRef()) && (this.getMCRef().isaudio == true)) this.__lzskipplaychecklimit = LzSprite.prototype.__lzskipplaychecklimitmax;
//Debug.warn('checkPlayStatus %w %w %w %w', this.__lzcheckframe, this.frame, this.totalframes, this.__lzskipplaychecklimit);
- LzIdle.callOnIdle( this.checkPlayStatusDel );
+ this.checkPlayStatusDel.register( LzIdle, "onidle" );
}
/**
@@ -1377,11 +1378,10 @@
this.updatePlayStatus();
this.__lzskipplaycheck++;
if (this.__lzskipplaycheck < this.__lzskipplaychecklimit) {
- LzIdle.callOnIdle( this.checkPlayStatusDel );
return;
}
+ this.checkPlayStatusDel.unregisterAll();
-
if ( this.frame != this.__lzcheckframe || this.totalframes != this.__lzchecktotalframes){
//Debug.write('checkPlayStatus2 tracking', this.frame, this.__lzcheckframe);
this.trackPlay();
More information about the Laszlo-checkins
mailing list