Repository: flex-asjs
Updated Branches:
  refs/heads/develop 5109c4022 -> 814b90d7d


Make sure index and item are sychronized.


Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/814b90d7
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/814b90d7
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/814b90d7

Branch: refs/heads/develop
Commit: 814b90d7db56d50a2336dfbd61b5bc77ad18a464
Parents: 5109c40
Author: DESKTOP-RH4S838\Yishay <[email protected]>
Authored: Sun Sep 17 15:10:11 2017 +0300
Committer: DESKTOP-RH4S838\Yishay <[email protected]>
Committed: Sun Sep 17 15:10:11 2017 +0300

----------------------------------------------------------------------
 .../flex/html/beads/models/ArrayListSelectionModel.as |  6 ++++--
 .../flex/html/beads/models/ArraySelectionModel.as     | 14 ++++++++------
 2 files changed, 12 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/814b90d7/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ArrayListSelectionModel.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ArrayListSelectionModel.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ArrayListSelectionModel.as
index d2a2b4b..950e350 100644
--- 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ArrayListSelectionModel.as
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ArrayListSelectionModel.as
@@ -87,9 +87,11 @@ package org.apache.flex.html.beads.models
             if (value == _dataProvider) return;
 
             _dataProvider = value as IArrayList;
+                       if(!_dataProvider || _selectedIndex >= 
_dataProvider.length)
+                               _selectedIndex = -1;
             if (_selectedIndex != -1)
-                _selectedItem = (_dataProvider == null || _selectedIndex >= 
_dataProvider.length) ? null :
-                    _dataProvider.getItemAt(_selectedIndex);
+                _selectedItem = _dataProvider.getItemAt(_selectedIndex);
+                       
                        dispatchEvent(new Event("dataProviderChanged"));
                }
 

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/814b90d7/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ArraySelectionModel.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ArraySelectionModel.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ArraySelectionModel.as
index 7059ada..9e3b806 100644
--- 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ArraySelectionModel.as
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ArraySelectionModel.as
@@ -85,12 +85,14 @@ package org.apache.flex.html.beads.models
          */
                public function set dataProvider(value:Object):void
                {
-            if (value == _dataProvider) return;
-            
-            _dataProvider = value;
-            if (_selectedIndex != -1)
-                _selectedItem = (_dataProvider == null || _selectedIndex >= 
_dataProvider.length) ? null : 
-                    _dataProvider[_selectedIndex];
+                       if (value == _dataProvider) return;
+                       
+                       _dataProvider = value;
+                       if(!_dataProvider || _selectedIndex >= 
_dataProvider.length)
+                               _selectedIndex = -1;
+                       if (_selectedIndex != -1)
+                               _selectedItem = _dataProvider[_selectedIndex];
+                       
                        dispatchEvent(new Event("dataProviderChanged"));
                }
 

Reply via email to