rebar issues

Matt Chapman matthewc at cse.unsw.edu.au
Tue Feb 24 01:19:53 CST 2004


On Sat, Feb 21, 2004 at 01:19:47PM +0000, Mike Hearn wrote:
> On Sat, 21 Feb 2004 18:10:09 +1100, Matt Chapman wrote:
> > However, I'm not sure I understand the original code (i.e. initial cx in
> > REBAR_Layout = header only for the !RBBS_FIXED_SIZE case), and hence
> > don't know whether this will break something else.  Can anyone comment?
> 
> Hi Matt,
> 
> Are you sure the bug isn't that RBBS_FIXED_SIZE should be set somewhere
> and isn't (or that this field is used in more than just that case)? 

No, I'm sure that the minimum size should be respected regardless, I've
verified this with Control Spy on Windows (thanks for the reference).

> There is a great little set of programs called Control Spy floating around
> the net which acts as a workout for the common controls library, you might
> want to get hold of that (I have a copy if you can't find it via google)
> and see if the rebar always behaves correctly even with your fix.

I've done some testing with Control Spy and my patch seems to fix the above
case without breaking anything else that I can see.

(CCing to wine-patches)

Matt

-------------- next part --------------
Index: dlls/comctl32/rebar.c
===================================================================
RCS file: /home/wine/wine/dlls/comctl32/rebar.c,v
retrieving revision 1.83
diff -u -r1.83 rebar.c
--- dlls/comctl32/rebar.c	9 Feb 2004 22:07:43 -0000	1.83
+++ dlls/comctl32/rebar.c	21 Feb 2004 07:03:15 -0000
@@ -1497,10 +1497,7 @@
 
 	/* separator from previous band */
 	cxsep = (cntonrow == 0) ? 0 : SEP_WIDTH;
-
-	/* Header: includes gripper, text, image */
-	cx = lpBand->cxHeader;
-	if (lpBand->fStyle & RBBS_FIXEDSIZE) cx = lpBand->lcx;
+	cx = lpBand->lcx;
 
 	if (infoPtr->dwStyle & CCS_VERT)
 	    dobreak = (y + cx + cxsep > adjcy);


More information about the wine-patches mailing list