Setting some windows relations.

Ken Thomases ken at codeweavers.com
Sat Nov 21 01:45:07 CST 2015


On Nov 21, 2015, at 1:33 AM, Dmitry Timoshkov <dmitry at baikal.ru> wrote:
> 
> --- a/dlls/user32/win.c
> +++ b/dlls/user32/win.c
> @@ -728,6 +728,8 @@ HWND WIN_SetOwner( HWND hwnd, HWND owner )
>      }
>      SERVER_END_REQ;
>      WIN_ReleasePtr( win );
> +
> +    USER_Driver->pSetParent( hwnd, owner, ret );
>      return ret;
>  }

That doesn't seem right.  The owner is not really the parent (even if the hWndParent parameter of CreateWindowEx() is overloaded to mean the owner in some cases).  Telling the user driver that the owner is now the parent is likely to make it destroy the native window.  In any case, it's not right semantically.

Also, it's likely to screw up OpenGL due to the call to set_gl_drawable_parent() in X11DRV_SetParent() [or set_gl_view_parent() in macdrv_SetParent()].

This may need a new driver entry point.

-Ken




More information about the wine-devel mailing list