[Bug 9450] New: Wrong rebar height calculation for hidden bands

wine-bugs at winehq.org wine-bugs at winehq.org
Sat Aug 25 06:54:30 CDT 2007


http://bugs.winehq.org/show_bug.cgi?id=9450

           Summary: Wrong rebar height calculation for hidden bands
           Product: Wine
           Version: 0.9.42.
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Wine-Rebar
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: alex at thehandofagony.com


Created an attachment (id=7780)
 --> (http://bugs.winehq.org/attachment.cgi?id=7780)
Proposed patch

Currently our builtin rebar code does not calculate 0 as the height of the 
control if no bands are visible, while native does.
Tracing through our rebar code I found this suspicious code:

    for (i = iBeginBand; i < iEndBand; i = next_band(infoPtr, i))
    {
        lpBand = &infoPtr->bands[i];
        yMaxHeight = max(yMaxHeight, lpBand->lcy);
    }

while further down the height of the control is returned as
    return yPos + yMaxHeight;

It does not make sense to include the hight of a hidden band, and my fix 

    for (i = iBeginBand; i < iEndBand; i = next_band(infoPtr, i))
    {
        lpBand = &infoPtr->bands[i];
        if(!HIDDENBAND(lpBand))
            yMaxHeight = max(yMaxHeight, lpBand->lcy);
    }

corrects the problem. 

But this will need a test case, right?


-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.


More information about the wine-bugs mailing list