Approved.
I've got another testcase which shows a different event-handling
(comparing queued and non-queued delegates),
even after applying this fix, but I don't know whether it is a bit too
much constructed:
<canvas debug="true" >
<class name="foo" extends="node" >
<attribute name="bar" value="123" setter="setBar(bar)" />
<method name="setBar" args="bar" >
this.bar = bar;
if (this["onbar"]) {
this.onbar.sendEvent(bar);
}
</method>
<method name="provokeError" >
this.setBar("789");
</method>
<method name="provokeError2" >
this.setBar("xxx");
</method>
</class>
<foo bar="456" >
<handler name="onbar" args="bar">
Debug.write("onbar - 1 - begin with %s", bar);
this.provokeError();
Debug.write("onbar - 1 - end with %s", bar);
</handler>
<handler name="onbar" args="bar">
Debug.write("onbar - 2 - begin with %s", bar);
this.provokeError2();
Debug.write("onbar - 2 - end with %s", bar);
</handler>
<!-- later -->
<handler name="oninit" reference="canvas" >
Debug.write("-----");
this.setBar("abc");
</handler>
</foo>
</canvas>
On 11/7/2007 12:23 AM, P T Withington wrote:
Change 20071105-ptw-V by [EMAIL PROTECTED] on 2007-11-05
15:10:35 EST
in /Users/ptw/OpenLaszlo/ringding-2
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Ensure deferred events do not recurse
Bugs Fixed:
LPP-4950 'LzDelegate single-execution mechanism does not work for
queued delegates'
Technical Reviewer: hminksy (pending)
QA Reviewer: [EMAIL PROTECTED] (pending)
Tests:
Test case from bug no longer shows the event recursing.
Files:
M WEB-INF/lps/lfc/events/LaszloEvents.lzs
Changeset:
http://svn.openlaszlo.org/openlaszlo/patches/20071105-ptw-V.tar