[PATCH 5/7] user32: Use GetScrollInfo for GetScrollRange implementation.
Jacek Caban
wine at gitlab.winehq.org
Mon Jul 4 18:04:46 CDT 2022
From: Jacek Caban <jacek at codeweavers.com>
---
dlls/user32/scroll.c | 44 ++++++++++++--------------------------------
1 file changed, 12 insertions(+), 32 deletions(-)
diff --git a/dlls/user32/scroll.c b/dlls/user32/scroll.c
index 566bf9ecb21..11c37ed6428 100644
--- a/dlls/user32/scroll.c
+++ b/dlls/user32/scroll.c
@@ -311,32 +311,6 @@ void WINAPI USER_ScrollBarDraw( HWND hwnd, HDC hdc, INT nBar, enum SCROLL_HITTES
}
}
-/*************************************************************************
- * SCROLL_GetScrollRange
- *
- * Internal helper for the API function
- *
- * PARAMS
- * hwnd [I] Handle of window with scrollbar(s)
- * nBar [I] One of SB_HORZ, SB_VERT, or SB_CTL
- * lpMin [O] Where to store minimum value
- * lpMax [O] Where to store maximum value
- *
- * RETURNS
- * Success: TRUE
- * Failure: FALSE
- */
-static BOOL SCROLL_GetScrollRange(HWND hwnd, INT nBar, LPINT lpMin, LPINT lpMax)
-{
- LPSCROLLBAR_INFO infoPtr = SCROLL_GetInternalInfo(hwnd, nBar, FALSE);
-
- if (lpMin) *lpMin = infoPtr ? infoPtr->minVal : 0;
- if (lpMax) *lpMax = infoPtr ? infoPtr->maxVal : 0;
-
- return TRUE;
-}
-
-
LRESULT WINAPI USER_ScrollBarProc( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam, BOOL unicode )
{
switch(message)
@@ -530,15 +504,21 @@ BOOL WINAPI DECLSPEC_HOTPATCH SetScrollRange(HWND hwnd, INT nBar, INT minVal, IN
* RETURNS
* TRUE if values is filled
*/
-BOOL WINAPI DECLSPEC_HOTPATCH GetScrollRange(HWND hwnd, INT nBar, LPINT lpMin, LPINT lpMax)
+BOOL WINAPI DECLSPEC_HOTPATCH GetScrollRange( HWND hwnd, int bar, int *min, int *max )
{
- TRACE("hwnd=%p nBar=%d lpMin=%p lpMax=%p\n", hwnd, nBar, lpMin, lpMax);
+ SCROLLINFO info;
+
+ TRACE( "hwnd=%p nBar=%d lpMin=%p lpMax=%p\n", hwnd, bar, min, max );
/* Refer SB_CTL requests to the window */
- if (nBar == SB_CTL)
- SendMessageW(hwnd, SBM_GETRANGE, (WPARAM)lpMin, (LPARAM)lpMax);
- else
- SCROLL_GetScrollRange(hwnd, nBar, lpMin, lpMax);
+ if (bar == SB_CTL)
+ return SendMessageW( hwnd, SBM_GETPOS, 0, 0 );
+ info.cbSize = sizeof(info);
+ info.fMask = SIF_RANGE;
+ info.nMin = info.nMax = 0;
+ GetScrollInfo( hwnd, bar, &info );
+ if (min) *min = info.nMin;
+ if (max) *max = info.nMax;
return TRUE;
}
--
GitLab
https://gitlab.winehq.org/wine/wine/-/merge_requests/374
More information about the wine-devel
mailing list