Alexandre Julliard : winex11: Hardcode the MWM hints for the desktop window .
Alexandre Julliard
julliard at winehq.org
Mon Dec 19 13:39:22 CST 2011
Module: wine
Branch: master
Commit: c4cf90246d5dd147a1b84497493dea29c7cbab5c
URL: http://source.winehq.org/git/wine.git/?a=commit;h=c4cf90246d5dd147a1b84497493dea29c7cbab5c
Author: Alexandre Julliard <julliard at winehq.org>
Date: Mon Dec 19 11:12:12 2011 +0100
winex11: Hardcode the MWM hints for the desktop window.
---
dlls/winex11.drv/window.c | 25 +++++++++++++++++--------
1 files changed, 17 insertions(+), 8 deletions(-)
diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c
index 63f58a9..1fb339a 100644
--- a/dlls/winex11.drv/window.c
+++ b/dlls/winex11.drv/window.c
@@ -1007,19 +1007,28 @@ static void set_mwm_hints( Display *display, struct x11drv_win_data *data, DWORD
{
MwmHints mwm_hints;
- mwm_hints.flags = MWM_HINTS_FUNCTIONS | MWM_HINTS_DECORATIONS;
- mwm_hints.decorations = get_mwm_decorations( data, style, ex_style );
- mwm_hints.functions = MWM_FUNC_MOVE;
- if (is_window_resizable( data, style )) mwm_hints.functions |= MWM_FUNC_RESIZE;
- if (!(style & WS_DISABLED))
+ if (data->hwnd == GetDesktopWindow())
{
- if (style & WS_MINIMIZEBOX) mwm_hints.functions |= MWM_FUNC_MINIMIZE;
- if (style & WS_MAXIMIZEBOX) mwm_hints.functions |= MWM_FUNC_MAXIMIZE;
- if (style & WS_SYSMENU) mwm_hints.functions |= MWM_FUNC_CLOSE;
+ mwm_hints.decorations = MWM_DECOR_TITLE | MWM_DECOR_BORDER | MWM_DECOR_MENU | MWM_DECOR_MINIMIZE;
+ mwm_hints.functions = MWM_FUNC_MOVE | MWM_FUNC_MINIMIZE | MWM_FUNC_CLOSE;
}
+ else
+ {
+ mwm_hints.decorations = get_mwm_decorations( data, style, ex_style );
+ mwm_hints.functions = MWM_FUNC_MOVE;
+ if (is_window_resizable( data, style )) mwm_hints.functions |= MWM_FUNC_RESIZE;
+ if (!(style & WS_DISABLED))
+ {
+ if (style & WS_MINIMIZEBOX) mwm_hints.functions |= MWM_FUNC_MINIMIZE;
+ if (style & WS_MAXIMIZEBOX) mwm_hints.functions |= MWM_FUNC_MAXIMIZE;
+ if (style & WS_SYSMENU) mwm_hints.functions |= MWM_FUNC_CLOSE;
+ }
+ }
+
TRACE( "%p setting mwm hints to %lx,%lx (style %x exstyle %x)\n",
data->hwnd, mwm_hints.decorations, mwm_hints.functions, style, ex_style );
+ mwm_hints.flags = MWM_HINTS_FUNCTIONS | MWM_HINTS_DECORATIONS;
XChangeProperty( display, data->whole_window, x11drv_atom(_MOTIF_WM_HINTS),
x11drv_atom(_MOTIF_WM_HINTS), 32, PropModeReplace,
(unsigned char*)&mwm_hints, sizeof(mwm_hints)/sizeof(long) );
More information about the wine-cvs
mailing list