Changeset 3708 for trunk/src


Ignore:
Timestamp:
Jun 14, 2000, 4:25:57 PM (25 years ago)
Author:
sandervl
Message:

fix for excessive redrawing in Notes

Location:
trunk/src/user32
Files:
2 edited

Legend:

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

    r3679 r3708  
    1 /* $Id: dc.cpp,v 1.60 2000-06-08 18:10:09 sandervl Exp $ */
     1/* $Id: dc.cpp,v 1.61 2000-06-14 14:25:56 sandervl Exp $ */
    22
    33/*
     
    625625   }
    626626   else {
    627 #if 0
    628         HRGN hrgnTmp = GpiCreateRegion(pHps->hps, 1, &rectl);
    629 
    630         WinQueryUpdateRegion(hwndClient, hrgnTmp);
    631 
    632         RGNRECT rgnrect = {0, 12, 0, RECTDIR_LFRT_TOPBOT};
    633         RECTL   rectls[12], rcltemp;
    634         GpiQueryRegionRects(pHps->hps, hrgnTmp, &rcltemp, &rgnrect, &rectls[0]);
    635         GpiDestroyRegion(pHps->hps, hrgnTmp);
    636 #endif
    637627        WinValidateRect(hwndClient, &rectl, FALSE);
    638628
     
    11101100             wnd->setEraseBkgnd(TRUE);
    11111101        }
     1102        else
     1103        if (redraw & RDW_NOERASE_W)
     1104            wnd->setEraseBkgnd(FALSE);
    11121105
    11131106        if (!pRect && !hrgn)
     
    12031196   result = RedrawWindow (hwnd, pRect, NULLHANDLE,
    12041197                          RDW_ALLCHILDREN_W | RDW_INVALIDATE_W |
    1205                           (erase ? RDW_ERASE_W : 0) |
     1198                          (erase ? RDW_ERASE_W : RDW_NOERASE_W) |
    12061199                          (hwnd == NULLHANDLE ? RDW_UPDATENOW_W : 0));
    12071200   return (result);
     
    12161209   result = RedrawWindow (hwnd, NULL, hrgn,
    12171210                          RDW_ALLCHILDREN_W | RDW_INVALIDATE_W |
    1218                           (erase ? RDW_ERASE_W : 0) |
     1211                          (erase ? RDW_ERASE_W : RDW_NOERASE_W) |
    12191212                          (hwnd == NULLHANDLE ? RDW_UPDATENOW_W : 0));
    12201213   return (result);
  • trunk/src/user32/pmwindow.cpp

    r3705 r3708  
    1 /* $Id: pmwindow.cpp,v 1.94 2000-06-14 13:15:24 sandervl Exp $ */
     1/* $Id: pmwindow.cpp,v 1.95 2000-06-14 14:25:57 sandervl Exp $ */
    22/*
    33 * Win32 Window Managment Code for OS/2
     
    689689    {
    690690      RECTL rectl;
    691 
    692         WinQueryUpdateRect(hwnd, &rectl);
     691      BOOL  rc;
     692
     693        rc = WinQueryUpdateRect(hwnd, &rectl);
    693694        dprintf(("OS2: WM_PAINT (%d,%d) (%d,%d)", rectl.xLeft, rectl.yBottom, rectl.xRight, rectl.yTop));
    694         if(win32wnd->IsWindowCreated())
     695        if(rc && win32wnd->IsWindowCreated() && (rectl.xLeft != rectl.xRight &&
     696           rectl.yBottom != rectl.yTop))
    695697        {
    696698                PRECT pClient = win32wnd->getClientRectPtr();
     
    705707                win32wnd->DispatchMsgA(pWinMsg);
    706708        }
     709        else    goto RunDefWndProc;
     710
    707711        //SvL: Not calling the default window procedure causes all sorts of
    708712        //     strange problems (redraw & hanging app)
     
    714718//      }
    715719//      dprintf(("Update rectangle (%d,%d)(%d,%d) not empty, msg %x", rectl.xLeft, rectl.yTop, rectl.xRight, rectl.yBottom, pWinMsg->message));
    716         goto RunDefWndProc;
    717 //        break;
     720//      goto RunDefWndProc;
     721        break;
    718722    }
    719723
Note: See TracChangeset for help on using the changeset viewer.