User32: scroll.c fix

Evan Stade estade at gmail.com
Fri Jun 8 20:18:25 CDT 2007


Hi,

This fixes bug 765 (at least on the programs I tested).

Changelog:
*Fix to scrollbar off by one error

 dlls/user32/scroll.c |   18 ++++++++----------
 1 files changed, 8 insertions(+), 10 deletions(-)

-Evan Stade
-------------- next part --------------
diff --git a/dlls/user32/scroll.c b/dlls/user32/scroll.c
index afd961e..4553e05 100644
--- a/dlls/user32/scroll.c
+++ b/dlls/user32/scroll.c
@@ -209,11 +209,10 @@ static BOOL SCROLL_GetScrollBarRect( HWN
         lprect->top    = wndPtr->rectClient.bottom - wndPtr->rectWindow.top;
         lprect->right  = wndPtr->rectClient.right - wndPtr->rectWindow.left;
         lprect->bottom = lprect->top + GetSystemMetrics(SM_CYHSCROLL);
-	if(wndPtr->dwStyle & WS_BORDER) {
-	  lprect->left--;
-	  lprect->right++;
-	} else if(wndPtr->dwStyle & WS_VSCROLL)
-	  lprect->right++;
+
+        if(wndPtr->dwStyle & WS_VSCROLL)
+	       lprect->right++;
+
         vertical = FALSE;
 	break;
 
@@ -225,11 +224,10 @@ static BOOL SCROLL_GetScrollBarRect( HWN
         lprect->top    = wndPtr->rectClient.top - wndPtr->rectWindow.top;
         lprect->right  = lprect->left + GetSystemMetrics(SM_CXVSCROLL);
         lprect->bottom = wndPtr->rectClient.bottom - wndPtr->rectWindow.top;
-	if(wndPtr->dwStyle & WS_BORDER) {
-	  lprect->top--;
-	  lprect->bottom++;
-	} else if(wndPtr->dwStyle & WS_HSCROLL)
-	  lprect->bottom++;
+
+        if(wndPtr->dwStyle & WS_HSCROLL)
+	       lprect->bottom++;
+
         vertical = TRUE;
 	break;
 
-- 
1.4.1


More information about the wine-patches mailing list