Author: pbr Date: 2007-07-19 14:42:54 -0700 (Thu, 19 Jul 2007) New Revision: 5718
Modified: openlaszlo/branches/legals/WEB-INF/lps/lfc/controllers/LaszloLayout.lzs Log: Change 20070705-Philip-6 by [EMAIL PROTECTED] on 2007-07-05 10:47:48 EST in /cygdrive/f/laszlo/svn/src/svn/openlaszlo/branches/legals for http://svn.openlaszlo.org/openlaszlo/branches/legals Summary: Destroying layouts can generate dhtml errors New Features: Bugs Fixed: LPP-4226 Technical Reviewer: jcrowley QA Reviewer: (pending) Doc Reviewer: (pending) Documentation: Release Notes: Details: The test case posted in LPP-4081 fails when run in dhtml. LPP-4081 fixed a problem with a grid column has more than one subview. It also causes a layout to be destroyed from code in basegridcolumn.lzx (determinePlacement()). I added checks in LzLayout (LaszloLayout.lzx) to make sure the view variables are initialized be fore trying to release any layouts. Tests: Run the test from LPP-4081 in dhtml. It should not generate any errors. smokecheck in dhtml and swf Files: M WEB-INF/lps/lfc/controllers/LaszloLayout.lzs Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20070705-Philip-6.tar Modified: openlaszlo/branches/legals/WEB-INF/lps/lfc/controllers/LaszloLayout.lzs =================================================================== --- openlaszlo/branches/legals/WEB-INF/lps/lfc/controllers/LaszloLayout.lzs 2007-07-19 21:19:22 UTC (rev 5717) +++ openlaszlo/branches/legals/WEB-INF/lps/lfc/controllers/LaszloLayout.lzs 2007-07-19 21:42:54 UTC (rev 5718) @@ -290,12 +290,16 @@ * uses. */ function releaseLayout ( ) { - for ( var i = this.delegates.length - 1; i >= 0; i -- ){ - this.delegates[ i ] .unregisterAll(); + if (this.delegates) { + for ( var i = this.delegates.length - 1; i >= 0; i -- ){ + this.delegates[ i ] .unregisterAll(); + } } - for ( var i = this.immediateparent.layouts.length -1 ; i >= 0 ; i-- ){ - if ( this.immediateparent.layouts[ i ] == this ){ - this.immediateparent.layouts.splice( i , 1 ); + if (this.immediateparent && this.immediateparent.layouts) { + for ( var i = this.immediateparent.layouts.length -1 ; i >= 0 ; i-- ){ + if ( this.immediateparent.layouts[ i ] == this ){ + this.immediateparent.layouts.splice( i , 1 ); + } } } } _______________________________________________ Laszlo-checkins mailing list [email protected] http://www.openlaszlo.org/mailman/listinfo/laszlo-checkins
