Updated Branches:
  refs/heads/develop 7e101d8de -> 9f8aab867

remove try and catch to improve performance


Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/9f8aab86
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/9f8aab86
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/9f8aab86

Branch: refs/heads/develop
Commit: 9f8aab8675dc3288be9b1b906da64b5c91728d70
Parents: 7e101d8
Author: Justin Mclean <[email protected]>
Authored: Fri Jan 3 18:31:44 2014 +1100
Committer: Justin Mclean <[email protected]>
Committed: Fri Jan 3 18:31:44 2014 +1100

----------------------------------------------------------------------
 .../controls/dataGridClasses/DataGridColumn.as  | 50 ++++++++++----------
 1 file changed, 24 insertions(+), 26 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/9f8aab86/frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridColumn.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridColumn.as 
b/frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridColumn.as
index a053c04..8a4a209 100644
--- a/frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridColumn.as
+++ b/frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridColumn.as
@@ -1739,17 +1739,17 @@ public class DataGridColumn extends CSSStyleDeclaration 
implements IIMESupport
 
         if (typeof(data) == "object" || typeof(data) == "xml")
         {
-            try
-            {
-                if (!hasComplexFieldName) 
-                       data = data[dataField];
-                else 
-                    data = deriveComplexColumnData(data);
-            }
-            catch(e:Error)
-            {
-                data = null;
-            }
+            if (hasComplexFieldName)
+                       {
+                               data = deriveComplexColumnData(data);
+                       }
+                       else if (dataField != null)
+                       {
+                               if (dataField in data)
+                       data = data[dataField];
+                   else 
+                                       data = null;
+                       }
         }
 
         if (data is String)
@@ -1798,17 +1798,13 @@ public class DataGridColumn extends CSSStyleDeclaration 
implements IIMESupport
             var field:String = dataTipField;
             if (!field)
                 field = owner.dataTipField;
-            try
-            {
-                if (data[field] != null)
-                    data = data[field];
-                else if (data[dataField] != null)
-                    data = data[dataField];
-            }
-            catch(e:Error)
-            {
-                data = null;
-            }
+
+            if (field in data && data[field] != null)
+                data = data[field];
+            else if (dataField in data && data[dataField] != null)
+                data = data[dataField];
+                       else
+                               data = null;
         }
 
         if (data is String)
@@ -1828,13 +1824,15 @@ public class DataGridColumn extends CSSStyleDeclaration 
implements IIMESupport
     /**
      * @private
      */
-    protected function deriveComplexColumnData( data:Object ):Object 
+    protected function deriveComplexColumnData(data:Object):Object 
     {
         var currentRef:Object = data;
-        if ( complexFieldNameComponents ) 
+               var length:int = complexFieldNameComponents.length
+               
+        if (complexFieldNameComponents) 
         {
-            for ( var i:int=0; currentRef && i < 
complexFieldNameComponents.length; i++ )
-                currentRef = currentRef[ complexFieldNameComponents[ i ] ];
+            for (var i:int=0; currentRef && i < length; i++)
+                currentRef = currentRef[complexFieldNameComponents[i]];
         }
         
         return currentRef?currentRef:"";

Reply via email to