Zhiyi Zhang : user32: Modify SCROLL_MovingThumb outside of SCROLL_DrawMovingThumb().

Alexandre Julliard julliard at winehq.org
Mon Jul 5 16:24:20 CDT 2021


Module: wine
Branch: master
Commit: ac6817de54c9c4b12c8de56f20ce45b95be26e6c
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=ac6817de54c9c4b12c8de56f20ce45b95be26e6c

Author: Zhiyi Zhang <zzhang at codeweavers.com>
Date:   Mon Jul  5 20:31:13 2021 +0800

user32: Modify SCROLL_MovingThumb outside of SCROLL_DrawMovingThumb().

SCROLL_MovingThumb is a global variable. Gradually move it out of scroll bar drawing functions so
that those drawing functions can be refactored in a way that doesn't need access to global variables.

Signed-off-by: Zhiyi Zhang <zzhang at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/user32/scroll.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/dlls/user32/scroll.c b/dlls/user32/scroll.c
index 85485eede57..9113d57263b 100644
--- a/dlls/user32/scroll.c
+++ b/dlls/user32/scroll.c
@@ -484,8 +484,6 @@ static void SCROLL_DrawMovingThumb( HDC hdc, RECT *rect, BOOL vertical,
 
   SCROLL_DrawInterior( SCROLL_TrackingWin, hdc, SCROLL_TrackingBar, rect, arrowSize, thumbSize, pos,
                        0, vertical, FALSE, FALSE );
-
-  SCROLL_MovingThumb = !SCROLL_MovingThumb;
 }
 
 /***********************************************************************
@@ -625,6 +623,7 @@ void SCROLL_DrawScrollBar( HWND hwnd, HDC hdc, INT nBar,
         if (SCROLL_MovingThumb && SCROLL_TrackingWin == hwnd && SCROLL_TrackingBar == nBar)
         {
             SCROLL_DrawMovingThumb( hdc, &rect, vertical, arrowSize, thumbSize );
+            SCROLL_MovingThumb = FALSE;
         }
         else
         {
@@ -867,7 +866,10 @@ static void SCROLL_HandleScrollEvent( HWND hwnd, INT nBar, UINT msg, POINT pt)
                                                         vertical,
                                                         SCROLL_TrackingPos );
 	    if (!SCROLL_MovingThumb)
+            {
 		SCROLL_DrawMovingThumb(hdc, &rect, vertical, arrowSize, thumbSize);
+                SCROLL_MovingThumb = TRUE;
+            }
         }
         else if (msg == WM_LBUTTONUP)
         {




More information about the wine-cvs mailing list