But I cannot figure out how that is breaking the window component.
I didn't want to wave through this change without tracking down what went wrong. So, here is the result: "LzLayout#construct(..)" creates a delegate for the "LzLayout#update(..)" method [1], but as "construct(..)" gets called before "LzNode#__LZapplyArgs(..)" and because we're no longer storing the method-name in LzDelegate, but the function itself, we'll have at this point a reference to "LzLayout#update" instead of the custom update-method for the window's titlelayout [2].
How to prove? Compare:
fw.title_area.subnodes[0].updateDelegate.m === fw.title_area.subnodes[0].update
fw.title_area.subnodes[0].updateDelegate.m === LzLayout.prototype.update
Or simply call:
fw.title_area.subnodes[0].updateDelegate.execute()
fw.title_area.subnodes[0].update()


[1] will be overridden by layout subclasses
[2] see windowpanel.lzx


On 6/21/2008 1:02 PM, P T Withington wrote:
[I plan to check this in so we stop getting duplicate bug reports about broken windows.]

Change 20080621-ptw-z by [EMAIL PROTECTED] on 2008-06-21 06:54:53 EDT
    in /Users/ptw/OpenLaszlo/ringding-clean
    for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: Revert 9782 which broke too many things

Bugs Fixed:
LPP-6370 'window component broken'

Technical Reviewer: [EMAIL PROTECTED] (pending)
QA Reviewer: max (pending)

Details:
    This was an attempt to save a little space by not emitting
    instance classes.  But I cannot figure out how that is breaking
    the window component.  It seemed like a bad idea in the first
    place because it made the tag compiler differentiate the code it
    generated based on runtime -- runtime distinctions really should
    be kept to the script compiler back-end.

Tests:
    windows look correct again

Files:
M      WEB-INF/lps/server/src/org/openlaszlo/compiler/NodeModel.java

Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20080621-ptw-z.tar

Reply via email to