make sure, that autorepeat happens AFTER damages have been
authorClaus Gittinger <cg@exept.de>
Mon, 20 Nov 2000 14:51:47 +0100
changeset 2313 c3c2415333bb
parent 2312 3fae46685629
child 2314 03348b8ae78b
make sure, that autorepeat happens AFTER damages have been redrawn (to avoid enqueuing the next autorepeat before the previous was performed.). Makes a difference when redraw is slow (as in the imageEditors magnified view), and avoids page-up/down action from being evaluated twice for a single click.
Scroller.st
--- a/Scroller.st	Fri Nov 17 10:26:48 2000 +0100
+++ b/Scroller.st	Mon Nov 20 14:51:47 2000 +0100
@@ -1003,16 +1003,19 @@
 
 !Scroller methodsFor:'autoRepeat'!
 
+installRepeat
+    self windowGroup repairDamage.
+    Processor addTimedBlock:repeatBlock afterSeconds:repeatDelay
+!
+
 repeatPageDown
     self pageDown.
-    Processor addTimedBlock:repeatBlock afterSeconds:repeatDelay
-
+    self installRepeat.
 !
 
 repeatPageUp
     self pageUp.
-    Processor addTimedBlock:repeatBlock afterSeconds:repeatDelay
-
+    self installRepeat.
 ! !
 
 !Scroller methodsFor:'drawing'!
@@ -1370,7 +1373,8 @@
                                 sensor pushUserEvent:#repeatPageUp for:self
                             ]
                            ].
-            Processor addTimedBlock:repeatBlock afterSeconds:initialRepeatDelay
+            sensor pushUserEvent:#installRepeat for:self.
+            "/ Processor addTimedBlock:repeatBlock afterSeconds:initialRepeatDelay
         ]
     ] ifFalse:[
         (curr > limit2) ifTrue:[
@@ -1385,7 +1389,8 @@
                                     sensor pushUserEvent:#repeatPageDown for:self
                                 ]
                                ].
-                Processor addTimedBlock:repeatBlock afterSeconds:initialRepeatDelay
+                sensor pushUserEvent:#installRepeat for:self.
+                "/ Processor addTimedBlock:repeatBlock afterSeconds:initialRepeatDelay
             ]
         ] ifFalse:[
             pressOffset := curr - limit1.
@@ -2487,5 +2492,5 @@
 !Scroller class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg/Scroller.st,v 1.149 2000-10-20 11:09:47 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/Scroller.st,v 1.150 2000-11-20 13:51:47 cg Exp $'
 ! !