You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ca...@apache.org on 2019/02/28 19:10:05 UTC

[royale-asjs] branch develop updated: solve NPE in RequireSelection bead

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 <ca...@apache.org>
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();
 		}