Piotr Caban : winex11.drv: Don' t assume that owner is top-level window in set_style_hints.
Alexandre Julliard
julliard at winehq.org
Sun Jul 3 12:18:28 CDT 2016
Module: wine
Branch: master
Commit: 6afecf22237ba7dfc1eead69dd29374c26210637
URL: http://source.winehq.org/git/wine.git/?a=commit;h=6afecf22237ba7dfc1eead69dd29374c26210637
Author: Piotr Caban <piotr at codeweavers.com>
Date: Sat Jun 25 13:59:49 2016 +0200
winex11.drv: Don't assume that owner is top-level window in set_style_hints.
Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/winex11.drv/window.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c
index 06ce26e..31ffefe 100644
--- a/dlls/winex11.drv/window.c
+++ b/dlls/winex11.drv/window.c
@@ -748,10 +748,16 @@ static void set_style_hints( struct x11drv_win_data *data, DWORD style, DWORD ex
{
Window group_leader = data->whole_window;
HWND owner = GetWindow( data->hwnd, GW_OWNER );
- Window owner_win = X11DRV_get_whole_window( owner );
+ Window owner_win = 0;
XWMHints *wm_hints;
Atom window_type;
+ if (owner)
+ {
+ owner = GetAncestor( owner, GA_ROOT );
+ owner_win = X11DRV_get_whole_window( owner );
+ }
+
if (owner_win)
{
XSetTransientForHint( data->display, data->whole_window, owner_win );
More information about the wine-cvs
mailing list