mirror of
https://review.haiku-os.org/haiku
synced 2025-02-22 21:48:35 +01:00
* Don't invalidate anything in offscreen windows. NetPositive is doing
slightly strange redrawing, including scrolling the offscreen view that it uses in "flicker free" mode (which is the default). Invalidation does not work in offscreen windows, since the client thread is not running and certainly won't redraw anything. But that will leave a non-drawable region on the app_server side of things. Simply don't invalidate in this case. From what I have seen, redrawing in NetPositive seems to work fine now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28538 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
e98ee1410a
commit
f7c8477593
@ -414,7 +414,7 @@ Window::ScrollViewBy(View* view, int32 dx, int32 dy)
|
||||
//fDrawingEngine->FillRegion(dirty, rgb_color{ 255, 0, 255, 255 });
|
||||
//snooze(2000);
|
||||
|
||||
if (IsVisible() && view->IsVisible()) {
|
||||
if (!IsOffscreenWindow() && IsVisible() && view->IsVisible()) {
|
||||
dirty->IntersectWith(&VisibleContentRegion());
|
||||
_TriggerContentRedraw(*dirty);
|
||||
}
|
||||
@ -669,7 +669,7 @@ Window::MarkContentDirty(BRegion& regionOnScreen)
|
||||
// since this won't affect other windows, read locking
|
||||
// is sufficient. If there was no dirty region before,
|
||||
// an update message is triggered
|
||||
if (fHidden)
|
||||
if (fHidden || IsOffscreenWindow())
|
||||
return;
|
||||
|
||||
regionOnScreen.IntersectWith(&VisibleContentRegion());
|
||||
@ -682,7 +682,7 @@ void
|
||||
Window::MarkContentDirtyAsync(BRegion& regionOnScreen)
|
||||
{
|
||||
// NOTE: see comments in ProcessDirtyRegion()
|
||||
if (fHidden)
|
||||
if (fHidden || IsOffscreenWindow())
|
||||
return;
|
||||
|
||||
regionOnScreen.IntersectWith(&VisibleContentRegion());
|
||||
|
Loading…
x
Reference in New Issue
Block a user