- Paint the desktop only when getting WM_ERASEBKGND message, and do nothing in WM_PAINT. This is the behavior Windows and Wine implement.
- Add WM_CLOSE stub-handler, though it doesn't change much now - all messages unhandled by the switch are going to return "0" since this proc doesn't call DefWndProcHandler.

svn path=/trunk/; revision=43934
This commit is contained in:
Aleksey Bragin 2009-11-03 19:03:11 +00:00
parent e788e7f084
commit 006d77b16b

View file

@ -42,23 +42,19 @@ static HWND VisibleDesktopWindow = NULL;
static LRESULT CALLBACK
DtbgWindowProc(HWND Wnd, UINT Msg, WPARAM wParam, LPARAM lParam)
{
switch(Msg)
PAINTSTRUCT PS;
HDC hDC;
switch(Msg)
{
case WM_ERASEBKGND:
PaintDesktop((HDC)wParam);
return 1;
case WM_PAINT:
{
PAINTSTRUCT PS;
RECT rc;
HDC hDC;
if(GetUpdateRect(Wnd, &rc, FALSE) &&
(hDC = BeginPaint(Wnd, &PS)))
{
PaintDesktop(hDC);
if((hDC = BeginPaint(Wnd, &PS)))
EndPaint(Wnd, &PS);
}
return 0;
}
@ -71,6 +67,9 @@ DtbgWindowProc(HWND Wnd, UINT Msg, WPARAM wParam, LPARAM lParam)
case WM_CREATE:
return 0;
case WM_CLOSE:
return 0;
case WM_NOTIFY:
{
PPRIVATE_NOTIFY_DESKTOP nmh = (PPRIVATE_NOTIFY_DESKTOP)lParam;