Dmitry Timoshkov : winex11.drv: Use dialog window type again for owned popup windows.

Alexandre Julliard julliard at winehq.org
Wed Apr 20 11:05:18 CDT 2011


Module: wine
Branch: master
Commit: fd043c56443430ee993c7d7281845b9b726b48d6
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=fd043c56443430ee993c7d7281845b9b726b48d6

Author: Dmitry Timoshkov <dmitry at codeweavers.com>
Date:   Wed Apr 20 01:16:25 2011 +0900

winex11.drv: Use dialog window type again for owned popup windows.

---

 dlls/winex11.drv/window.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c
index 15ee1c2..acbafde 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);
 




More information about the wine-cvs mailing list