On Saturday 01 March 2003 02:29, Alexandre Julliard wrote:
Yes that's definitely what was intended. Though note that even with that fix the implementation is still not right, most of the GetScroll* functions should be sending messages to the window for the SB_CTL case instead of accessing the data structure directly.
I am not sure I understand correctly. Sending a message to the window for SB_CTL scroll bars seems to run the possibility of an infinite recursion. The message handling code simply uses the API functions. Is the following what is desired?
Andrew
Index: controls/scroll.c =================================================================== RCS file: /home/wine/wine/controls/scroll.c,v retrieving revision 1.62 diff -u -r1.62 scroll.c --- controls/scroll.c 14 Jan 2003 23:41:01 -0000 1.62 +++ controls/scroll.c 4 Mar 2003 07:50:54 -0000 @@ -1743,15 +1743,15 @@ { SCROLLBAR_INFO *infoPtr;
- if (!(infoPtr = SCROLL_GetScrollInfo( hwnd, nBar ))) + /* Refer SB_CTL requests to the window */ + if (!(infoPtr = SCROLL_GetScrollInfo(hwnd, nBar)) && nBar == SB_CTL) + return SendMessageA(hwnd, SBM_GETRANGE, (WPARAM)lpMin, (LPARAM)lpMax); + else { - if (lpMin) lpMin = 0; - if (lpMax) lpMax = 0; - return FALSE; + if (lpMin) *lpMin = infoPtr ? infoPtr->minVal : 0; + if (lpMax) *lpMax = infoPtr ? infoPtr->maxVal : 0; } - if (lpMin) *lpMin = infoPtr->minVal; - if (lpMax) *lpMax = infoPtr->maxVal; - return TRUE; + return infoPtr ? TRUE : FALSE; }
This e-mail and any attachment is for authorised use by the intended recipient(s) only. It may contain proprietary material, confidential information and/or be subject to legal privilege. It should not be copied, disclosed to, retained or used by, any other party. If you are not an intended recipient then please promptly delete this e-mail and any attachment and all copies and inform the sender. Thank you.