This is an automated email from the ASF dual-hosted git repository.
piotrz 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 437803c RequireSelection: Fix maximum call stack size exceeded
437803c is described below
commit 437803cc190b2e5bdd6a37078432fb12a0a3f5e1
Author: Piotr Zarzycki <[email protected]>
AuthorDate: Wed Oct 2 16:04:41 2019 +0200
RequireSelection: Fix maximum call stack size exceeded
- Stop forcing selection if dataProvider is empty. ArraySelectionModel mark
selectedIndex = -1 when dataProvider is empty and dispatch event
"selectionChanged" which end up of calling forceSelection method and attempt of
selectIndex = 0. - It's starting process again cause dataProvider is empty
---
.../jewel/beads/controls/dropdownlist/RequireSelection.as | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/dropdownlist/RequireSelection.as
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/dropdownlist/RequireSelection.as
index 89e8edc..6094e7e 100644
---
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/dropdownlist/RequireSelection.as
+++
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/dropdownlist/RequireSelection.as
@@ -120,13 +120,20 @@ package
org.apache.royale.jewel.beads.controls.dropdownlist
}
}
- private function selectionChangeHandler(event:Event):void {
+ private function selectionChangeHandler(event:Event):void
+ {
forceSelection();
}
- private function forceSelection():void {
+ private function forceSelection():void
+ {
if(_requireSelection && ddl.selectedIndex == -1)
{
+ if (!ddl.dataProvider ||
ddl.dataProvider.length == 0)
+ {
+ return;
+ }
+
ddl.selectedIndex = 0;
}
}