Alexandre Julliard : x11drv:
Avoid setting text or WM hints of the X root window.
Alexandre Julliard
julliard at wine.codeweavers.com
Tue Mar 28 04:44:31 CST 2006
Module: wine
Branch: refs/heads/master
Commit: c44410d1e358b9690cdabd9e55f076ffc926d180
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=c44410d1e358b9690cdabd9e55f076ffc926d180
Author: Alexandre Julliard <julliard at winehq.org>
Date: Tue Mar 28 12:21:37 2006 +0200
x11drv: Avoid setting text or WM hints of the X root window.
---
dlls/x11drv/window.c | 10 +++++++---
1 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/dlls/x11drv/window.c b/dlls/x11drv/window.c
index ccb5d4a..67be435 100644
--- a/dlls/x11drv/window.c
+++ b/dlls/x11drv/window.c
@@ -122,7 +122,10 @@ BOOL X11DRV_is_window_rect_mapped( const
static int get_window_attributes( Display *display, struct x11drv_win_data *data,
XSetWindowAttributes *attr )
{
- if (!data->managed && (root_window == DefaultRootWindow( display )) && is_window_managed( data->hwnd ))
+ if (!data->managed &&
+ root_window == DefaultRootWindow( display ) &&
+ data->whole_window != root_window &&
+ is_window_managed( data->hwnd ))
{
data->managed = TRUE;
SetPropA( data->hwnd, managed_prop, (HANDLE)1 );
@@ -378,6 +381,7 @@ void X11DRV_set_wm_hints( Display *displ
if (data->hwnd == GetDesktopWindow())
{
+ if (data->whole_window == DefaultRootWindow(display)) return;
/* force some styles for the desktop to get the correct decorations */
style |= WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX;
owner = 0;
@@ -508,7 +512,7 @@ void X11DRV_set_iconic_state( HWND hwnd
BOOL iconic = (style & WS_MINIMIZE) != 0;
if (!(data = X11DRV_get_win_data( hwnd ))) return;
- if (!data->whole_window) return;
+ if (!data->whole_window || data->whole_window == DefaultRootWindow(display)) return;
GetWindowRect( hwnd, &rect );
@@ -754,7 +758,7 @@ void X11DRV_SetWindowText( HWND hwnd, LP
Window win;
XTextProperty prop;
- if ((win = X11DRV_get_whole_window( hwnd )))
+ if ((win = X11DRV_get_whole_window( hwnd )) && win != DefaultRootWindow(display))
{
/* allocate new buffer for window text */
count = WideCharToMultiByte(CP_UNIXCP, 0, text, -1, NULL, 0, NULL, NULL);
More information about the wine-cvs
mailing list