Repository: flex-sdk
Updated Branches:
  refs/heads/develop be9633de1 -> 587354995


Fix for issue FLEX-34320


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

Branch: refs/heads/develop
Commit: 798194db5eaf9aa28db4fd6027f78b40bb15800d
Parents: 3036b88
Author: Michael Labriola <labri...@digitalprimates.net>
Authored: Thu May 15 18:06:55 2014 -0500
Committer: Michael Labriola <labri...@digitalprimates.net>
Committed: Thu May 15 18:06:55 2014 -0500

----------------------------------------------------------------------
 .../framework/src/mx/collections/Sort.as        | 20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/798194db/frameworks/projects/framework/src/mx/collections/Sort.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/src/mx/collections/Sort.as 
b/frameworks/projects/framework/src/mx/collections/Sort.as
index a1c7333..609d1ea 100644
--- a/frameworks/projects/framework/src/mx/collections/Sort.as
+++ b/frameworks/projects/framework/src/mx/collections/Sort.as
@@ -392,23 +392,27 @@ public class Sort extends EventDispatcher implements ISort
         {
             compareForFind = this.compareFunction;
             // configure the search criteria
-            if (values && fieldList.length > 0)
+                               if (values && fields.length > 0)
             {
                 fieldsForCompare = [];
                 //build up the fields we can compare, if we skip a field in the
                 //middle throw an error.  it is ok to not have all the fields
                 //though
-                var fieldName:String;
+                                       var field:ISortField;
                 var hadPreviousFieldName:Boolean = true;
-                for (var i:int = 0; i < fieldList.length; i++)
+                                       for (var i:int = 0; i < fields.length; 
i++)
                 {
-                    fieldName = fieldList[i];
-                    if (fieldName)
+                                               field = fields[i];
+                                               if (field)
                     {
                         var hasFieldName:Boolean = false;     
                                                try
                         {
-                            hasFieldName = values[fieldName] !== undefined;
+                                                               hasFieldName = 
field.compareFunction != null;
+
+                                                               if ( 
!hasFieldName ) {
+                                                                       
hasFieldName = values[field.name] !== undefined;
+                                                               }
                         }
                         catch(e:Error)
                         {
@@ -418,12 +422,12 @@ public class Sort extends EventDispatcher implements ISort
                             if (!hadPreviousFieldName)
                             {
                                 message = resourceManager.getString(
-                                    "collections", "findCondition", [ 
fieldName ]);
+                                                                               
"collections", "findCondition", [ field.name ]);
                                 throw new SortError(message);
                             }
                             else
                             {
-                                fieldsForCompare.push(fieldName);
+                                                                       
fieldsForCompare.push(field);
                             }
                         }
                         else

Reply via email to