Can you have a look at the bug #2302. This is not regession but my problem sounds very similar. In the program no scrollbars are shown. I have tried the native comctrl as well. The picture shows how the dialog should look like.

Yours,

Nicolai

Am 01.09.2004 um 18:52 schrieb Alexandre Julliard:

---- Diese Nachricht wurde auf Viren und andere gefaehrliche Inhalte sowie Spam untersucht.


<<inline: Screenshot.JPG>>


Rein Klazes <[EMAIL PROTECTED]> writes:

I was too early, another problem popped up caused by this patch.
Un-maximized MDI child windows don't paint their non client area anymore
(I tried two MDI applications, both had it).

How about this one?

Index: dlls/x11drv/winpos.c
===================================================================
RCS file: /opt/cvs-commit/wine/dlls/x11drv/winpos.c,v
retrieving revision 1.98
diff -u -p -r1.98 winpos.c
--- dlls/x11drv/winpos.c        24 Aug 2004 18:49:34 -0000      1.98
+++ dlls/x11drv/winpos.c        1 Sep 2004 16:49:03 -0000
@@ -416,21 +416,36 @@ BOOL X11DRV_GetDC( HWND hwnd, HDC hdc, H

if (top != hwnd)
{
- escape.drawable_org.x = escape.drawable_org.y = 0;
- if (flags & (DCX_WINDOW|DCX_PARENTCLIP))
+ /* find the top most parent that doesn't clip siblings */
+ HWND clipping_parent = 0;
+ HWND *list = WIN_ListParents( hwnd );
+ if (list)
{
- escape.org.x = win->rectWindow.left - win->rectClient.left;
- escape.org.y = win->rectWindow.top - win->rectClient.top;
- MapWindowPoints( hwnd, top, &escape.org, 1 );
- MapWindowPoints( top, 0, &escape.drawable_org, 1 );
- escape.drawable = X11DRV_get_client_window( top );
+ int i;
+ for (i = 0; list[i] != top; i++)
+ {
+ LONG style = GetWindowLongW( list[i], GWL_STYLE );
+ if (!(style & WS_CLIPSIBLINGS)) clipping_parent = list[i];
+ }
+ HeapFree( GetProcessHeap(), 0, list );
}
+ if (clipping_parent)
+ clipping_parent = GetAncestor( clipping_parent, GA_PARENT );
+ else if (!(flags & DCX_CLIPSIBLINGS) || (flags & DCX_WINDOW))
+ clipping_parent = GetAncestor( hwnd, GA_PARENT );
else
+ clipping_parent = hwnd;
+
+ escape.org.x = escape.org.y = 0;
+ escape.drawable_org.x = escape.drawable_org.y = 0;
+ if (flags & DCX_WINDOW)
{
- escape.org.x = escape.org.y = 0;
- MapWindowPoints( hwnd, 0, &escape.drawable_org, 1 );
- escape.drawable = X11DRV_get_client_window( hwnd );
+ escape.org.x = win->rectWindow.left - win->rectClient.left;
+ escape.org.y = win->rectWindow.top - win->rectClient.top;
}
+ MapWindowPoints( hwnd, clipping_parent, &escape.org, 1 );
+ MapWindowPoints( clipping_parent, 0, &escape.drawable_org, 1 );
+ escape.drawable = X11DRV_get_client_window( clipping_parent );
}
else
{


--
Alexandre Julliard
[EMAIL PROTECTED]

Reply via email to