- 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
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;
}
case WM_CREATE:
return 0;
+ case WM_CLOSE:
+ return 0;
+
case WM_NOTIFY:
{
PPRIVATE_NOTIFY_DESKTOP nmh = (PPRIVATE_NOTIFY_DESKTOP)lParam;