one bug fixed, three more to go
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15162 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
cfc40fb337
commit
27b740633e
@ -538,6 +538,15 @@ Desktop::MarkDirty(BRegion* region)
|
||||
if (LockClipping()) {
|
||||
// add the new dirty region to the culmulative dirty region
|
||||
fDirtyRegion.Include(region);
|
||||
|
||||
if (fDrawingEngine->Lock()) {
|
||||
fDrawingEngine->SetHighColor(255, 0, 0);
|
||||
fDrawingEngine->FillRegion(region);
|
||||
fDrawingEngine->MarkDirty(region);
|
||||
fDrawingEngine->Unlock();
|
||||
snooze(100000);
|
||||
}
|
||||
|
||||
// send redraw messages to all windows intersecting the dirty region
|
||||
_TriggerWindowRedrawing(region);
|
||||
|
||||
|
@ -313,26 +313,22 @@ void
|
||||
WindowLayer::_DrawContents(ViewLayer* layer)
|
||||
{
|
||||
//printf("%s - DrawContents()\n", Name());
|
||||
#if SLOW_DRAWING
|
||||
snooze(10000);
|
||||
#endif
|
||||
|
||||
if (!layer)
|
||||
layer = fTopLayer;
|
||||
|
||||
if (fDesktop->ReadLockClipping()) {
|
||||
|
||||
BRegion effectiveWindowClipping(fVisibleContentRegion);
|
||||
effectiveWindowClipping.IntersectWith(fDesktop->DirtyRegion());
|
||||
BRegion dirtyContentRegion(fVisibleContentRegion);
|
||||
dirtyContentRegion.IntersectWith(fDesktop->DirtyRegion());
|
||||
|
||||
if (effectiveWindowClipping.Frame().IsValid()) {
|
||||
if (dirtyContentRegion.CountRects() > 0) {
|
||||
// send UPDATE message to the client
|
||||
_MarkContentDirty(&effectiveWindowClipping);
|
||||
_MarkContentDirty(&dirtyContentRegion);
|
||||
|
||||
layer->Draw(fDrawingEngine, &effectiveWindowClipping,
|
||||
layer->Draw(fDrawingEngine, &dirtyContentRegion,
|
||||
&fVisibleContentRegion, true);
|
||||
|
||||
fDesktop->MarkClean(&fContentRegion);
|
||||
fDesktop->MarkClean(&dirtyContentRegion);
|
||||
}
|
||||
|
||||
fDesktop->ReadUnlockClipping();
|
||||
|
Loading…
Reference in New Issue
Block a user