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@codeweavers.com --- 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) {