This is an automated email from the ASF dual-hosted git repository.

gregdove pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git


The following commit(s) were added to refs/heads/develop by this push:
     new 6aeed89  Regression fix: restore support for mxml setting of 
selectedIndex before first dataProvider setting.
6aeed89 is described below

commit 6aeed89578c6f0df4282c76530764408ae17cce8
Author: greg-dove <greg.d...@gmail.com>
AuthorDate: Wed Nov 7 23:38:18 2018 +1300

    Regression fix: restore support for mxml setting of selectedIndex before 
first dataProvider setting.
---
 .../royale/jewel/beads/models/DropDownListModel.as     | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/DropDownListModel.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/DropDownListModel.as
index f247bf0..d1b8d0f 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/DropDownListModel.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/DropDownListModel.as
@@ -71,7 +71,6 @@ package org.apache.royale.jewel.beads.models
                override public function set dataProvider(value:Object):void
                {
             if (value == _dataProvider) return;
-
             _dataProvider = value as IArrayList;
             var itemChanged:Boolean;
             const oldIndex:int = _selectedIndex;
@@ -84,8 +83,15 @@ package org.apache.royale.jewel.beads.models
                         itemChanged = true;
                     }
                 } else {
-                    _selectedIndex = -1;
-                               }
+                    if (_selectedIndex != -1) {
+                        if (_selectedIndex < _dataProvider.length) {
+                            _selectedItem = 
_dataProvider.getItemAt(_selectedIndex);
+                            itemChanged = true;
+                        } else {
+                            _selectedIndex = -1;
+                        }
+                    }
+                }
             } else {
                                itemChanged = _selectedItem != null;
                 _selectedItem = null;
@@ -119,7 +125,11 @@ package org.apache.royale.jewel.beads.models
          */
                override public function set selectedIndex(value:int):void
                {
-            if (!_dataProvider) _selectedIndex = value = -1;
+
+            if (!_dataProvider) {
+                _selectedIndex = value;
+                return;
+            }
             if (value == _selectedIndex) return;
 
             const oldItem:Object = _selectedItem;

Reply via email to