The bug with layout does not  happen when debug=true, can you think of any thing  off the top of your head in that change that might <br>be dependent on the debug flag? <br><br>I&#39;m going to try to get a minimal test case for the radiobutton drawing bug, and then compare the<br>
debug and non-debug js output code, maybe something obvious will be different...<br><br><div class="gmail_quote">On Thu, Dec 3, 2009 at 8:19 AM, P T Withington <span dir="ltr">&lt;<a href="mailto:ptw@pobox.com">ptw@pobox.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">You should link the two bugs to LPP-8088, but also note the _long_ history of 8088.<br>
<br>
We _really_ want to keep the set of changes in 8088, because it greatly improves the efficiency of the event system (hugely reduces the number of function calls on startup of your favorite large application).<br>
<br>
Here&#39;s the $0.05 summary, which may give you some clues:<br>
<br>
8088 made it so that events are _not_ sent when you set an attribute to the same value, on the theory if the value does not change, then none of the dependent expressions can change.<br>
<br>
In order to detect when a value is changed, all constrained values start out as `void 0` (undefined), but we know that will propagate as `NaN` in numeric operations, so, before any constraints are applied, all values that will be constrained are set to `null`.  Finally, while an object is being initialized, events are _always_ sent, because our constraint system (apparently) relies on a superfluity of events to get circular dependencies to settle.  [There is surely a better way to solve this problem, like implement a real constraint-solver, but we&#39;ve gotten by so far...]<br>

<br>
Bottom line is, you probably need to trace the application of constraints to see where things are going awry...  Probably the layout is looking at the views before their dimensions have settled.<br>
<div><div></div><div class="h5"><br>
On 2009-12-03, at 07:33, Henry Minsky wrote:<br>
<br>
&gt; Regarding LPP-8639 and LPP-8626, I did a binary search and this change seems<br>
&gt; like it is partially responsible.<br>
&gt; This change makes the radio buttons render correctly again in the dev<br>
&gt; console (you need to explicitly recompile<br>
&gt; the dev console to see the change, of course) but doesn&#39;t seem to make any<br>
&gt; difference to the layout of the<br>
&gt; first list component example.<br>
&gt;<br>
&gt; But I&#39;ll see if I can see what&#39;s happening to the radio button, and maybe<br>
&gt; that will give a clue as to what<br>
&gt; might be wrong with the list component.<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; r13837 | ptw | 2009-05-08 15:44:23 -0400 (Fri, 08 May 2009) | 25 lines<br>
&gt;<br>
&gt; Change 20090508-ptw-G by ptw@dueling-banjos.home on 2009-05-08 10:52:53 EDT<br>
&gt;    in /Users/ptw/OpenLaszlo/trunk-2<br>
&gt;    for <a href="http://svn.openlaszlo.org/openlaszlo/trunk" target="_blank">http://svn.openlaszlo.org/openlaszlo/trunk</a><br>
&gt;<br>
&gt; Summary: Ensure dynamic properties are created in instances<br>
&gt;<br>
&gt; Bugs Fixed: LPP-8088  DHTML: many warnings from applyConstraintMethod()<br>
&gt; (partial)<br>
&gt;<br>
&gt; Technical Reviewer: max (Message-ID: &lt;<a href="mailto:4A048949.2060200@laszlosystems.com">4A048949.2060200@laszlosystems.com</a>&gt;)<br>
&gt; QA Reviewer: hminsky (pending)<br>
&gt;<br>
&gt; Details:<br>
&gt;    Clean up the code in LzNode that makes sure dynamic properties<br>
&gt;    exist by using a cross-platform test:  if accessing the dynamic<br>
&gt;    property returns undefined, make sure it exists in the instance by<br>
&gt;    setting it to undefined.<br>
&gt;<br>
&gt;    This does not fix the warning part of the bug, but it does make<br>
&gt;    swf9 work again.<br>
&gt;<br>
&gt; Tests:<br>
&gt;    <a href="http://localhost:8080/4.2/test/extensions/html.lzx?lzr=swf9" target="_blank">http://localhost:8080/4.2/test/extensions/html.lzx?lzr=swf9</a> No<br>
&gt;    longer gets a runtime error.<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Henry Minsky<br>
&gt; Software Architect<br>
&gt; <a href="mailto:hminsky@laszlosystems.com">hminsky@laszlosystems.com</a><br>
<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Henry Minsky<br>Software Architect<br><a href="mailto:hminsky@laszlosystems.com">hminsky@laszlosystems.com</a><br><br><br>