Scrolling and CopyBits() no longer clobber the current screen if the window
isn't even visible. This closes bug #341. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16905 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -429,8 +429,10 @@ WindowLayer::ScrollViewBy(ViewLayer* view, int32 dx, int32 dy)
|
|||||||
//fDrawingEngine->FillRegion(dirty, RGBColor(255, 0, 255, 255));
|
//fDrawingEngine->FillRegion(dirty, RGBColor(255, 0, 255, 255));
|
||||||
//snooze(2000);
|
//snooze(2000);
|
||||||
|
|
||||||
dirty.IntersectWith(&VisibleContentRegion());
|
if (IsVisible() && view->IsVisible()) {
|
||||||
_TriggerContentRedraw(dirty);
|
dirty.IntersectWith(&VisibleContentRegion());
|
||||||
|
_TriggerContentRedraw(dirty);
|
||||||
|
}
|
||||||
|
|
||||||
fDesktop->UnlockSingleWindow();
|
fDesktop->UnlockSingleWindow();
|
||||||
}
|
}
|
||||||
@@ -441,7 +443,7 @@ WindowLayer::ScrollViewBy(ViewLayer* view, int32 dx, int32 dy)
|
|||||||
void
|
void
|
||||||
WindowLayer::CopyContents(BRegion* region, int32 xOffset, int32 yOffset)
|
WindowLayer::CopyContents(BRegion* region, int32 xOffset, int32 yOffset)
|
||||||
{
|
{
|
||||||
if (!fHidden && fDesktop && fDesktop->LockSingleWindow()) {
|
if (IsVisible() && fDesktop && fDesktop->LockSingleWindow()) {
|
||||||
BRegion newDirty(*region);
|
BRegion newDirty(*region);
|
||||||
|
|
||||||
// clip the region to the visible contents at the
|
// clip the region to the visible contents at the
|
||||||
|
|||||||
Reference in New Issue
Block a user