UI regression
Duane Clark
junkmail at junkmail.com
Fri Mar 1 16:26:37 CST 2002
Jon Piesing wrote:
> Hi,
>
> Earlier this year I "upgraded" from wine 20010510 to 20011226 in order
> to see if some kind of resource leak was fixed which caused screen
> redraws to get progressively slower and slower and slower and slower, ....
>
> That was fixed but there seemed to be a significant number of graphics
> and UI regressions. I've just upgraded to 20020228 to see if things
> were any better and within 5 minutes I've hit one of the ones I saw before.
>
> In this case, screen re-draw works except for scroll-bars which are not
> drawn at all. If I look at the xterm where I start wine, I just see the
> same error message being printed over & over again ...
>
> err:msg:DispatchMessageA BeginPaint not called on WM_PAINT for hwnd 2002e!
>
> The application is a run-time version of the FileMaker Pro database.
>
> The Linux version is a Suse 7.0 upgraded piecemeal.
>
> It's relatively re-producable so I can turn on the appropriate debug
> messages if someone can advise what they are.
One of the appropriate messages would be "--debugmsg +scroll", which
would be a good starting point.
By coincidence, I was just working a problem where scrollbars were not
being drawn, so perhaps try this patch.
--
My real email is akamail.com at dclark (or something like that).
-------------- next part --------------
Index: dlls/comctl32/header.c
===================================================================
RCS file: /home/wine/wine/dlls/comctl32/header.c,v
retrieving revision 1.43
diff -u -r1.43 header.c
--- dlls/comctl32/header.c 2002/02/02 18:06:03 1.43
+++ dlls/comctl32/header.c 2002/02/27 15:55:15
@@ -108,11 +108,13 @@
int i, x;
infoPtr->bRectsValid = TRUE;
-
+ TRACE("Num items %d\n", infoPtr->uNumItem);
if (infoPtr->uNumItem == 0)
return;
GetClientRect (hwnd, &rect);
+ TRACE("Num items %d rect %d,%d-%d,%d\n", infoPtr->uNumItem,
+ rect.left, rect.top, rect.right, rect.bottom);
x = rect.left;
for (i = 0; i < infoPtr->uNumItem; i++) {
@@ -122,6 +124,7 @@
phdi->rect.left = x;
phdi->rect.right = phdi->rect.left + ((phdi->cxy>0)?phdi->cxy:0);
x = phdi->rect.right;
+ TRACE("cxy=%d x=%d\n", phdi->cxy, x);
}
}
@@ -752,6 +755,9 @@
lpRect->right = infoPtr->items[iItem].rect.right;
lpRect->top = infoPtr->items[iItem].rect.top;
lpRect->bottom = infoPtr->items[iItem].rect.bottom;
+ TRACE("HWND %x Rect L%dxT%d R%dxB%d\n", hwnd,
+ lpRect->left, lpRect->top,
+ lpRect->right, lpRect->bottom);
return TRUE;
}
@@ -824,6 +830,9 @@
if ((phdi == NULL) || (nItem < 0))
return -1;
+
+ TRACE("cxy=%d current numitems=%d mask=%x \n",
+ phdi->cxy, infoPtr->uNumItem, phdi->mask);
if (nItem > infoPtr->uNumItem)
nItem = infoPtr->uNumItem;
@@ -1022,6 +1031,9 @@
TRACE("Layout x=%d y=%d cx=%d cy=%d\n",
lpLayout->pwpos->x, lpLayout->pwpos->y,
lpLayout->pwpos->cx, lpLayout->pwpos->cy);
+ TRACE("HWND %x Rect L%dxT%d R%dxB%d\n", hwnd,
+ lpLayout->prc->left, lpLayout->prc->top,
+ lpLayout->prc->right, lpLayout->prc->bottom);
infoPtr->bRectsValid = FALSE;
More information about the wine-users
mailing list