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

bargull@openlaszlo.org bargull at openlaszlo.org
Wed Mar 25 12:05:24 PDT 2009


Author: bargull
Date: 2009-03-25 12:05:21 -0700 (Wed, 25 Mar 2009)
New Revision: 13472

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

Summary: fix for performance improvement fix

New Features:

Bugs Fixed: LPP-7905 (Noticable performance differences between OL 4.0.x and 4.2.x)

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

Documentation:

Release Notes:

Details:
Last change wasn't quite right, it broke the debugger
    

Tests:
run app with swf8+debug



Modified: openlaszlo/trunk/WEB-INF/lps/lfc/core/LzNode.lzs
===================================================================
--- openlaszlo/trunk/WEB-INF/lps/lfc/core/LzNode.lzs	2009-03-25 18:14:23 UTC (rev 13471)
+++ openlaszlo/trunk/WEB-INF/lps/lfc/core/LzNode.lzs	2009-03-25 19:05:21 UTC (rev 13472)
@@ -241,17 +241,20 @@
     if (! (this is LzState)) {
       for (var key in iargs) {
         var val = iargs[key];
-        
-        if (! (val instanceof Function)) {
-            if ((val !== void 0) || (! (key in this))) {
-                this[key] = val;
-            }
-        } else if (! (val is LzInitExpr)) {
+        if (! (val is LzInitExpr)) {
           // If there is no setter for this attr the value
           // should just be installed as a declaration
           var setr = '$lzc$set_' + key;
           if (! this[setr]) {
-            this.addProperty(key, val);
+            if (val instanceof Function) {
+              this.addProperty(a, val);
+            } else if (val !== void 0) {
+              this[key] = val;
+            } else if ($as3) {
+              // not for ActionScript3
+            } else if (! (key in this)) {
+              this[key] = val;
+            }
             delete iargs[key];
           } else {
             // NOTE: [2008-03-18 ptw] this is for
@@ -259,7 +262,7 @@
             // attribute with a setter is expected to be
             // initially `null` not undefined
             if (this[key] === void 0) {
-              this.addProperty(key, null);
+              this[key] = null;
             }
           }
         }
@@ -1070,9 +1073,13 @@
         // able to set it, but that doesn't work if this is a
         // method
         if (val instanceof Function) { 
-            this.addProperty(a, val);
-        } else {
-            this[a] = val;
+          this.addProperty(a, val);
+        } else if (val !== void 0) {
+          this[a] = val;
+        } else if ($as3) {
+          // not for ActionScript3
+        } else if (! (a in this)) {
+          this[a] = val;
         }
         if (! constcall) {
           //then we need to notify the rest of the system that this



More information about the Laszlo-checkins mailing list