explorer: Never paint the desktop when using the X root window.
This commit is contained in:
parent
5349745a90
commit
a075001704
|
@ -28,6 +28,8 @@ WINE_DEFAULT_DEBUG_CHANNEL(explorer);
|
||||||
#define DESKTOP_CLASS_ATOM MAKEINTATOMW(32769)
|
#define DESKTOP_CLASS_ATOM MAKEINTATOMW(32769)
|
||||||
#define DESKTOP_ALL_ACCESS 0x01ff
|
#define DESKTOP_ALL_ACCESS 0x01ff
|
||||||
|
|
||||||
|
static BOOL using_root;
|
||||||
|
|
||||||
/* window procedure for the desktop window */
|
/* window procedure for the desktop window */
|
||||||
static LRESULT WINAPI desktop_wnd_proc( HWND hwnd, UINT message, WPARAM wp, LPARAM lp )
|
static LRESULT WINAPI desktop_wnd_proc( HWND hwnd, UINT message, WPARAM wp, LPARAM lp )
|
||||||
{
|
{
|
||||||
|
@ -50,14 +52,14 @@ static LRESULT WINAPI desktop_wnd_proc( HWND hwnd, UINT message, WPARAM wp, LPAR
|
||||||
return HTCLIENT;
|
return HTCLIENT;
|
||||||
|
|
||||||
case WM_ERASEBKGND:
|
case WM_ERASEBKGND:
|
||||||
PaintDesktop( (HDC)wp );
|
if (!using_root) PaintDesktop( (HDC)wp );
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
case WM_PAINT:
|
case WM_PAINT:
|
||||||
{
|
{
|
||||||
PAINTSTRUCT ps;
|
PAINTSTRUCT ps;
|
||||||
BeginPaint( hwnd, &ps );
|
BeginPaint( hwnd, &ps );
|
||||||
if (ps.fErase) PaintDesktop( ps.hdc );
|
if (!using_root && ps.fErase) PaintDesktop( ps.hdc );
|
||||||
EndPaint( hwnd, &ps );
|
EndPaint( hwnd, &ps );
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -155,6 +157,7 @@ void manage_desktop( char *arg )
|
||||||
|
|
||||||
if (!xwin) /* using the root window */
|
if (!xwin) /* using the root window */
|
||||||
{
|
{
|
||||||
|
using_root = TRUE;
|
||||||
width = GetSystemMetrics(SM_CXSCREEN);
|
width = GetSystemMetrics(SM_CXSCREEN);
|
||||||
height = GetSystemMetrics(SM_CYSCREEN);
|
height = GetSystemMetrics(SM_CYSCREEN);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue