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 2020/06/25 22:11:23 UTC

[royale-asjs] branch develop updated: jewel-spinner: clean timer listeners

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 e765783  jewel-spinner: clean timer listeners
e765783 is described below

commit e7657834aabdec36109303e9fbc599b2c2800ed8
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Fri Jun 26 00:11:13 2020 +0200

    jewel-spinner: clean timer listeners
---
 .../beads/controllers/SpinnerMouseController.as    | 24 ++++++++++++++--------
 1 file changed, 16 insertions(+), 8 deletions(-)

diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controllers/SpinnerMouseController.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controllers/SpinnerMouseController.as
index 695a910..57af2ec 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controllers/SpinnerMouseController.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controllers/SpinnerMouseController.as
@@ -121,15 +121,14 @@ package org.apache.royale.jewel.beads.controllers
 				if (timer.delay > 150)
 				{
 					var newdelay:Number = timer.delay/2;
-					timer.stop();
-					timer = null;
+					removeTimer(incOrDecFunc);
 					createTimer(incOrDecFunc, newdelay)
 				}
 			}
 		}
 
 		/**
-		 * This create the timer each time is needed depending on function to listen and delay
+		 * Create the timer each time needed depending on function to listen and delay
 		 * @private
 		 */
 		private function createTimer(incOrDecFunc:Function, delay:Number):void
@@ -138,6 +137,17 @@ package org.apache.royale.jewel.beads.controllers
 			timer.addEventListener("timer", incOrDecFunc);
 			timer.start();
 		}
+		
+		/**
+		 * Remove the timer each time needed depending on function to listen
+		 * @private
+		 */
+		private function removeTimer(incOrDecFunc:Function):void
+		{
+			timer.removeEventListener("timer", incOrDecFunc);
+			timer.stop();
+			timer = null;
+		}
 
 		/**
 		 * Increment mouse down handler
@@ -153,8 +163,7 @@ package org.apache.royale.jewel.beads.controllers
 		private function incrementMouseUpHandlermouseUpHandler(event:MouseEvent):void
 		{
 			mouseDown = false;
-			timer.stop();
-			timer = null;
+			removeTimer(incrementClickHandler);
 		}
 		/**
 		 * Increment mouse click handler
@@ -183,8 +192,7 @@ package org.apache.royale.jewel.beads.controllers
 		private function decrementMouseUpHandlermouseUpHandler(event:MouseEvent):void
 		{
 			mouseDown = false;
-			timer.stop();
-			timer = null;
+			removeTimer(decrementClickHandler);
 		}
 		/**
 		 * Decrement mouse click handler
@@ -192,7 +200,7 @@ package org.apache.royale.jewel.beads.controllers
 		private function decrementClickHandler(event:Event):void
 		{
 			increaseCadence(decrementClickHandler);
-			
+
 			var oldValue:Number = rangeModel.value;
 			rangeModel.value = Math.max(rangeModel.minimum, rangeModel.value - rangeModel.stepSize);
 			var vce:ValueChangeEvent = ValueChangeEvent.createUpdateEvent(_strand, "value", oldValue, rangeModel.value);