winex11.drv: Do not use any window types except _NET_WM_WINDOW_TYPE_NORMAL.

Dmitry Timoshkov dmitry at codeweavers.com
Tue Mar 22 02:11:40 CDT 2011


Main window of the Atom Zombie Smasher game has WS_DLGFRAME style set,
but Metacity allows making fullscreen ONLY normal windows, so do not
use any window types except _NET_WM_WINDOW_TYPE_NORMAL.

This patch fixes bug #26508.
---
 dlls/winex11.drv/window.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c
index 0e55619..4c0c0de 100644
--- a/dlls/winex11.drv/window.c
+++ b/dlls/winex11.drv/window.c
@@ -1169,6 +1169,11 @@ static void set_wm_hints( Display *display, struct x11drv_win_data *data )
     /* size hints */
     set_size_hints( display, data, style );
 
+    /* Main window of the Atom Zombie Smasher game has WS_DLGFRAME style set,
+     * but Metacity allows making fullscreen ONLY normal windows, so do not
+     * use any window types except _NET_WM_WINDOW_TYPE_NORMAL.
+     */
+#if 0
     /* set the WM_WINDOW_TYPE */
     if (style & WS_THICKFRAME) window_type = x11drv_atom(_NET_WM_WINDOW_TYPE_NORMAL);
     else if (ex_style & WS_EX_APPWINDOW) window_type = x11drv_atom(_NET_WM_WINDOW_TYPE_NORMAL);
@@ -1179,6 +1184,8 @@ static void set_wm_hints( Display *display, struct x11drv_win_data *data )
     else if (ex_style & WS_EX_TOOLWINDOW) window_type = x11drv_atom(_NET_WM_WINDOW_TYPE_NORMAL);
     else if ((style & WS_POPUP) && owner) window_type = x11drv_atom(_NET_WM_WINDOW_TYPE_DIALOG);
     else window_type = x11drv_atom(_NET_WM_WINDOW_TYPE_NORMAL);
+#endif
+    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);
-- 
1.7.3.5




More information about the wine-patches mailing list