scroll bars are not shown

Nicolai Kuntze g-8 at gmx.net
Thu Sep 2 04:59:22 CDT 2004


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.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: Screenshot.JPG
Type: image/jpg
Size: 31248 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-devel/attachments/20040902/a3bc7e1d/Screenshot.jpg
-------------- next part --------------

> Rein Klazes <rklazes at xs4all.nl> 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
> julliard at winehq.org
>


More information about the wine-devel mailing list