Not approved, because 1) delegates will now leak memory until their context is destroyed 2) you really should integrate this approach with LzNode#__LZdelegates 3) just setting the delegate's context to null doesn't look right, instead call unregisterAll() and prevent further calls to register(..) (if you intended to remove the reference from the delegate to the context, you also should set the method reference to null, because of bound methods, cf. ActionScript3) 4) API change: releaseLayout()'s contract is changed, cf. last mail from Tucker 5) missing integration with explicit delegate unregister code, cf. LzInputText#destroy() (may be added in an additional change - but there needs to be a note at least!)
On 3/14/2010 10:05 AM, Max Carlson wrote: > Change 20100314-maxcarlson-0 by maxcarl...@bank on 2010-03-14 00:54:51 PST > in /Users/maxcarlson/openlaszlo/trunk-clean > for http://svn.openlaszlo.org/openlaszlo/trunk > > Summary: Automatically remove invalid delegates in LzEventable.destroy() > > Bugs Fixed: LPP-8822 - Improve layout performance > > Technical Reviewer: ptw > QA Reviewer: hminsky > > Details: LzEventable - Add _delegates array to hold delegates that have a > context pointing to this object. Clean out delegate contexts in destroy(). > > LaszloEvents - LzDelegate registers on its contexts' _delegates array. > > LaszloLayout,resizelayout - don't track delegates anymore. > > Tests: Run modified leak-components test in swf10 - the memory monitor in the > upper left shows much less leakage with this patch: you can click the monitor > to force garbage collection. > > Files: > M test/components/lz/leak-components.lzx > M WEB-INF/lps/lfc/core/LzEventable.lzs > M WEB-INF/lps/lfc/events/LaszloEvents.lzs > M WEB-INF/lps/lfc/controllers/LaszloLayout.lzs > M lps/components/utils/layouts/resizelayout.lzx > > Changeset: > http://svn.openlaszlo.org/openlaszlo/patches/20100314-maxcarlson-0.tar > > _______________________________________________ Laszlo-reviews mailing list [email protected] http://www.openlaszlo.org/mailman/listinfo/laszlo-reviews
