Hi Ken,
Ken Thomases ken@codeweavers.com 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.
I'm fully agree on all points, the patch is just a proof of concept.