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