You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by pi...@apache.org on 2019/10/02 14:04:53 UTC
[royale-asjs] branch develop updated: RequireSelection: Fix maximum
call stack size exceeded
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 <pi...@gmail.com>
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;
}
}