Changeset 138 for trunk/src


Ignore:
Timestamp:
Jun 21, 1999, 2:21:26 AM (26 years ago)
Author:
buerkle
Message:

* empty log message *

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/user32/wndclass.cpp

    r134 r138  
    1 /* $Id: wndclass.cpp,v 1.5 1999-06-20 16:47:38 sandervl Exp $ */
     1/* $Id: wndclass.cpp,v 1.6 1999-06-21 00:21:26 buerkle Exp $ */
    22
    33/*
     
    844844                case WM_ACTIVATE:
    845845                        if(LOWORD(wParam) != WA_INACTIVE)
    846                         {//SvL: Bugfix, Open32 is NOT sending this to the window (messes up Solitaire)
    847                          HDC hdc = GetDC(hwnd);
    848 
    849                                 wclass->GetWinCallback()(hwnd, WM_ERASEBKGND, hdc, 0);
    850                                 ReleaseDC(hwnd, hdc);
    851                         }
     846                  {
     847                   //EB: I think the problem is not a missing wm_erasebkgnd.
     848                   //Maybe some wrong flags in open32 during async repainting.
     849                   //SvL: Bugfix, Open32 is NOT sending this to the window (messes up Solitaire)
     850                   RECT rect;
     851                   HRGN hrgn;
     852                   HDC hdc = GetDC(hwnd);
     853
     854                   // erase the dirty rect
     855                   GetUpdateRect(hwnd, &rect, TRUE);
     856                   hrgn = CreateRectRgnIndirect(&rect);
     857                   SelectClipRgn (hdc, hrgn);
     858                   DeleteObject (hrgn);
     859                   wclass->GetWinCallback()(hwnd, WM_ERASEBKGND, hdc, (LPARAM)&rect);
     860                   SelectClipRgn (hdc, NULL);
     861                   ReleaseDC(hwnd, hdc);
     862                  }
    852863                        break;
    853864                }
Note: See TracChangeset for help on using the changeset viewer.