Clean-up of scroll.c (1/4)

Andrew M. Johnston johnstonam at logica.com
Thu Feb 27 20:41:27 CST 2003


> > -    return (info->fMask & SIF_ALL) != 0;
> > +
> > +    return (info->fMask & SIF_ALL);
>
Will Fix
>
> > -    if (lpMin) *lpMin = infoPtr->minVal;
> > -    if (lpMax) *lpMax = infoPtr->maxVal;
> > -    return TRUE;
> > +    TRACE("hwnd=%p nBar=%d lpMin=%p lpMax=%p\n", hwnd, nBar, lpMin,
> > lpMax); +
> > +    if (lpMin) *lpMin = infoPtr ? infoPtr->minVal : 0;
> > +    if (lpMax) *lpMax = infoPtr ? infoPtr->maxVal : 0;

Note the code as in this area CVS seems to have a bug.  In the case of a zero 
infoPtr it zeros the return pointers not the return value as I am sure is 
intended.  A patch like the one below shown the likely intended code.
--- wine-20020710/controls/scroll.c	Sat Jun  1 07:06:46 2002
+++ wine/controls/scroll.c	Wed Jul 24 16:52:54 2002
@@ -1730,8 +1730,8 @@
 
     if (!(infoPtr = SCROLL_GetScrollInfo( hwnd, nBar )))
     {
-        if (lpMin) lpMin = 0;
-        if (lpMax) lpMax = 0;
+        if (lpMin) *lpMin = 0;
+        if (lpMax) *lpMax = 0;
         return FALSE;
     }
     if (lpMin) *lpMin = infoPtr->MinVal;

> > +    return (BOOL)infoPtr;
Will Fix

Andrew




More information about the wine-devel mailing list