This is a proposal how to fix LPP-7763 ("LzTimer hangs the system"). AFAIK, we need an API change to get around the flash player issue.

Change 20090217-bargull-Ada by barg...@dell--p4--2-53 on 2009-02-17 18:25:23
in /home/Admin/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: add repeat counter to addTimer and resetTimer

New Features: LPP-7763

Bugs Fixed:

Technical Reviewer: ptw
QA Reviewer: (pending)
Doc Reviewer: (pending)

Documentation:

Release Notes:

Details:
Add a new feature to lz.Timer#addTimer and resetTimer to accept the number of repetitions for the timer. This helps to avoid an issue in swf9, where the flash player needed more and more cpu resources.
A call looks like:
lz.Timer.addTimer(delegate, 1000, 10) -> execute the given delegate 10 times in an interval of one second Or: lz.Timer.addTimer(delegate, 1000, Infinity) -> execute the given delegate infinite times in an interval of one second

The implementation relies on the fact that clearTimeout and clearInterval are interchangeable in all runtimes.

Q: What should be the default value of "repeat": 0 or 1? Just asked because in lz.animatorgroup the "repeat" attribute describes that repeat = 1 means one execution, so that one repetition is equal to one execution, at least in OpenLaszlo-terms ;-) Should we be consistent to that implementation for the addTimer/resetTimer repeat-argument?

Tests:

Files:
M WEB-INF/lps/lfc/services/LzTimer.lzs

Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20090217-bargull-Ada.tar

Reply via email to