From fd043c56443430ee993c7d7281845b9b726b48d6 Mon Sep 17 00:00:00 2001 From: Dmitry Timoshkov Date: Wed, 20 Apr 2011 01:16:25 +0900 Subject: [PATCH] winex11.drv: Use dialog window type again for owned popup windows. --- 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 15ee1c20c97..acbafdeeb0f 100644 --- a/dlls/winex11.drv/window.c +++ b/dlls/winex11.drv/window.c @@ -1173,7 +1173,13 @@ static void set_wm_hints( Display *display, struct x11drv_win_data *data ) /* size hints */ set_size_hints( display, data, style ); - window_type = x11drv_atom(_NET_WM_WINDOW_TYPE_NORMAL); + /* Only use dialog type for owned popups. Metacity allows making fullscreen + * only normal windows, and doesn't handle correctly TRANSIENT_FOR hint for + * dialogs owned by fullscreen windows. + */ + if ((style & WS_POPUP) && owner) window_type = x11drv_atom(_NET_WM_WINDOW_TYPE_DIALOG); + else window_type = x11drv_atom(_NET_WM_WINDOW_TYPE_NORMAL); + XChangeProperty(display, data->whole_window, x11drv_atom(_NET_WM_WINDOW_TYPE), XA_ATOM, 32, PropModeReplace, (unsigned char*)&window_type, 1);