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;