[Laszlo-checkins] r12463 - openlaszlo/trunk/WEB-INF/lps/lfc/core

bargull@openlaszlo.org bargull at openlaszlo.org
Tue Jan 13 12:08:52 PST 2009


Author: bargull
Date: 2009-01-13 12:08:49 -0800 (Tue, 13 Jan 2009)
New Revision: 12463

Modified:
   openlaszlo/trunk/WEB-INF/lps/lfc/core/LzNode.lzs
Log:
Change 20090113-bargull-lbi by bargull at dell--p4--2-53 on 2009-01-13 19:51:57
    in /home/Admin/src/svn/openlaszlo/trunk
    for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: don't set a function to `null`

New Features:

Bugs Fixed: LPP-7616

Technical Reviewer: ptw
QA Reviewer: (pending)
Doc Reviewer: (pending)

Documentation:

Release Notes:

Details:
Instead of setting "__LZinstantiationDone" to `null`, add another condition to if-statement so that "__LZcallInit" won't be called if the node is already destroyed.
    

Tests:
see bugreport



Modified: openlaszlo/trunk/WEB-INF/lps/lfc/core/LzNode.lzs
===================================================================
--- openlaszlo/trunk/WEB-INF/lps/lfc/core/LzNode.lzs	2009-01-13 20:07:35 UTC (rev 12462)
+++ openlaszlo/trunk/WEB-INF/lps/lfc/core/LzNode.lzs	2009-01-13 20:08:49 UTC (rev 12463)
@@ -879,12 +879,13 @@
    *
    * @access private
    */
-  function __LZinstantiationDone (){
-    if ( !this.immediateparent ||  this.immediateparent.isinited ||
-         ( this.initstage == "early" ) ||
-         ( this.__LZisnew && lz.Instantiator.syncNew ) ){
+  function __LZinstantiationDone () :void {
+    if (!this.__LZdeleted && (!this.immediateparent ||
+            this.immediateparent.isinited ||
+            (this.initstage == "early") ||
+            (this.__LZisnew && lz.Instantiator.syncNew))) {
       //we need to init this and its subnodes
-      this.__LZcallInit( );
+      this.__LZcallInit();
     }
   }
 
@@ -931,14 +932,14 @@
       while(i < l){
         var s = sl[ i++ ];
         //remember next one too
-        var t = sl[ i ]
-          if ( s.isinited || s.__LZlateinit ) continue;
+        var t = sl[ i ];
+        if ( s.isinited || s.__LZlateinit ) continue;
         s.__LZcallInit( );
         //if the next one is not where it was, back up till we find it or to
         //the beginning of the array
         if ( t != sl[ i ] ){
           // When does this ever happen?
-          //             Debug.warn('subnodes array changed after %w -> sl[%d]: %w', t, i, sl[i]);
+          // Debug.warn('subnodes array changed after %w -> sl[%d]: %w', t, i, sl[i]);
           while ( i > 0 ){
             if ( t == sl[ --i ] ) break;
           }
@@ -2083,14 +2084,6 @@
 
     super.destroy();
 
-    //don't allow a call on this method if I'm deleted
-    if ($as3) {
-      // TODO [hqm 2008-03]
-      // flex compiler gives error if you assign a function to null, what do we do here?
-    } else {
-      this.__LZinstantiationDone = null;
-    }
-
     //remove this and all subnodes
     if (this.subnodes != null) {
       for (var i = this.subnodes.length -1; i >=0 ; i-- ){



More information about the Laszlo-checkins mailing list