Alexandre Julliard : explorer:
Never paint the desktop when using the X root window.
Alexandre Julliard
julliard at wine.codeweavers.com
Wed Aug 9 06:03:30 CDT 2006
Module: wine
Branch: refs/heads/master
Commit: a07500170495faa1cdaaa20a63bda7cba019c9db
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=a07500170495faa1cdaaa20a63bda7cba019c9db
Author: Alexandre Julliard <julliard at winehq.org>
Date: Wed Aug 9 11:21:41 2006 +0200
explorer: Never paint the desktop when using the X root window.
---
programs/explorer/desktop.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/programs/explorer/desktop.c b/programs/explorer/desktop.c
index d4db46d..e552599 100644
--- a/programs/explorer/desktop.c
+++ b/programs/explorer/desktop.c
@@ -28,6 +28,8 @@ WINE_DEFAULT_DEBUG_CHANNEL(explorer);
#define DESKTOP_CLASS_ATOM MAKEINTATOMW(32769)
#define DESKTOP_ALL_ACCESS 0x01ff
+static BOOL using_root;
+
/* window procedure for the desktop window */
static LRESULT WINAPI desktop_wnd_proc( HWND hwnd, UINT message, WPARAM wp, LPARAM lp )
{
@@ -50,14 +52,14 @@ static LRESULT WINAPI desktop_wnd_proc(
return HTCLIENT;
case WM_ERASEBKGND:
- PaintDesktop( (HDC)wp );
+ if (!using_root) PaintDesktop( (HDC)wp );
return TRUE;
case WM_PAINT:
{
PAINTSTRUCT ps;
BeginPaint( hwnd, &ps );
- if (ps.fErase) PaintDesktop( ps.hdc );
+ if (!using_root && ps.fErase) PaintDesktop( ps.hdc );
EndPaint( hwnd, &ps );
}
return 0;
@@ -155,6 +157,7 @@ void manage_desktop( char *arg )
if (!xwin) /* using the root window */
{
+ using_root = TRUE;
width = GetSystemMetrics(SM_CXSCREEN);
height = GetSystemMetrics(SM_CYSCREEN);
}
More information about the wine-cvs
mailing list