[gjs] tweener: make sure onOverwrite gets called only once



commit f2ac246f1c33de28e6ca8476b3e43cf2061db886
Author: Tommi Komulainen <tko litl com>
Date:   Fri Oct 9 17:59:06 2009 +0100

    tweener: make sure onOverwrite gets called only once
    
    https://bugzilla.gnome.org/show_bug.cgi?id=597927

 installed-tests/js/testTweener.js |    4 ++--
 modules/tweener/tweener.js        |    6 ++++--
 2 files changed, 6 insertions(+), 4 deletions(-)
---
diff --git a/installed-tests/js/testTweener.js b/installed-tests/js/testTweener.js
index ac2f96b..1e94988 100644
--- a/installed-tests/js/testTweener.js
+++ b/installed-tests/js/testTweener.js
@@ -442,7 +442,7 @@ function testTweenerOverwriteBeforeStart() {
 
     JSUnit.assertEquals(1, completeCount);
     JSUnit.assertEquals(1, startCount);
-    JSUnit.assertEquals(4, overwriteCount);    // FAIL, should be 1, not per property
+    JSUnit.assertEquals(1, overwriteCount);
 }
 
 function testTweenerOverwriteAfterStart() {
@@ -480,7 +480,7 @@ function testTweenerOverwriteAfterStart() {
 
     JSUnit.assertEquals(1, completeCount);
     JSUnit.assertEquals(2, startCount);
-    JSUnit.assertEquals(4, overwriteCount);    // FAIL, should be 1, not per property
+    JSUnit.assertEquals(1, overwriteCount);
 }
 
 installFrameTicker();
diff --git a/modules/tweener/tweener.js b/modules/tweener/tweener.js
index 503dbf4..243d1fa 100644
--- a/modules/tweener/tweener.js
+++ b/modules/tweener/tweener.js
@@ -626,8 +626,10 @@ function removeTweensByTime(scope, properties, timeStart, timeComplete) {
 
             for (name in _tweenList[i].properties) {
                 if (properties[name]) {
-                    _callOnFunction(_tweenList[i].onOverwrite, "onOverwrite", _tweenList[i].onOverwriteScope,
-                                    _tweenList[i].scope, _tweenList[i].onOverwriteParams);
+                    if (!removedLocally) {
+                        _callOnFunction(_tweenList[i].onOverwrite, "onOverwrite", 
_tweenList[i].onOverwriteScope,
+                                        _tweenList[i].scope, _tweenList[i].onOverwriteParams);
+                    }
 
                     _tweenList[i].properties[name] = undefined;
                     delete _tweenList[i].properties[name];


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]