Hi, Another fix for Agent 2.0 beta. Some buttons on Agent's preference dialogs did not display. Found that it is caused by the buttons having a WS_CLIPSIBLINGS style and therefore were clipped by a group with a WS_EX_TRANSPARENT ex-style. Testing shows that windows excludes child windows with this ex-style from the CLIPSIBLINGS clipping and also if their parents have WS_CLIPCHILDREN style. Changelog: dlls/x11drv : winpos.c In clip_children() don't clip the visible region by children that have a WS_EX_TRANSPARENT style. Rein. -- Rein Klazes rklazes@xxxxxxxxx
--- wine/dlls/x11drv/winpos.c 2003-11-22 19:26:02.000000000 +0100 +++ mywine/dlls/x11drv/winpos.c 2003-11-24 19:34:47.000000000 +0100 @@ -87,7 +87,8 @@ /* first check if we have anything to do */ if (!(list = WIN_ListChildren( parent ))) return ret; for (i = 0; list[i] && list[i] != last; i++) - if (GetWindowLongW( list[i], GWL_STYLE ) & WS_VISIBLE) break; + if ((GetWindowLongW( list[i], GWL_STYLE ) & WS_VISIBLE) && + !(GetWindowLongW( list[i], GWL_EXSTYLE ) & WS_EX_TRANSPARENT)) break; if (!list[i] || list[i] == last) goto done; /* no children to clip */ if (whole_window) @@ -104,7 +105,7 @@ for ( ; list[i] && list[i] != last; i++) { if (!(ptr = WIN_FindWndPtr( list[i] ))) continue; - if (ptr->dwStyle & WS_VISIBLE) + if ((ptr->dwStyle & WS_VISIBLE) && !(ptr->dwExStyle & WS_EX_TRANSPARENT)) { SetRectRgn( rectRgn, ptr->rectWindow.left + x, ptr->rectWindow.top + y, ptr->rectWindow.right + x, ptr->rectWindow.bottom + y );