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

carlosrovira 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 96a2aaf  solve NPE in RequireSelection bead
96a2aaf is described below

commit 96a2aaf0749a50ddfc1ae2926a16122e901af176
Author: Carlos Rovira <[email protected]>
AuthorDate: Thu Feb 28 20:09:56 2019 +0100

    solve NPE in RequireSelection bead
---
 .../controls/dropdownlist/RequireSelection.as      | 26 +++++++++++++++++-----
 1 file changed, 20 insertions(+), 6 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 febbcb8..89e8edc 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
@@ -62,8 +62,15 @@ package org.apache.royale.jewel.beads.controls.dropdownlist
                {
                        ddl = value as DropDownList;
                        ddl.addEventListener('selectionChanged', 
selectionChangeHandler);
+                       if(needUpdate)
+                       {
+                               needUpdate = false;
+                               updateRequiredSelection();
+                       }
                }
 
+               private var needUpdate:Boolean = false;
+
                /**
          *  @private
          *  Storage for the requireSelection property.
@@ -97,15 +104,22 @@ package org.apache.royale.jewel.beads.controls.dropdownlist
             if (value != _requireSelection)
             {
                 _requireSelection = value;
-
-                var ddModel:IDropDownListModel = ddl.model as 
IDropDownListModel;
-                if (ddModel) {
-                    ddModel.offset = _requireSelection ? 0 : 1;
-                    forceSelection();
-                }
+                               updateRequiredSelection();
             }
         }
 
+               private function updateRequiredSelection():void {
+                       if(ddl) {
+                               var ddModel:IDropDownListModel = ddl.model as 
IDropDownListModel;
+                               if (ddModel) {
+                                       ddModel.offset = _requireSelection ? 0 
: 1;
+                                       forceSelection();
+                               }
+                       } else {
+                               needUpdate = true;
+                       }
+               }
+
                private function selectionChangeHandler(event:Event):void {
                        forceSelection();
                }

Reply via email to