From b5182fe099e06747375c9dec135806922d773656 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20A=C3=9Fmus?= Date: Thu, 9 Feb 2006 12:38:46 +0000 Subject: [PATCH] don't blit stuff arround on screen when moving or resizing invisible windows, this bug was most visibly triggered when navigating menus, since the menu window was reused and moved and resized when it was invisible, weird things could happen on the screen... git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16308 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/servers/app/Desktop.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/servers/app/Desktop.cpp b/src/servers/app/Desktop.cpp index 1ac14a7890..ac1cef4f79 100644 --- a/src/servers/app/Desktop.cpp +++ b/src/servers/app/Desktop.cpp @@ -1279,6 +1279,11 @@ Desktop::MoveWindowBy(WindowLayer* window, float x, float y) window->MoveBy(x, y); + if (!window->IsVisible()) { + UnlockAllWindows(); + return; + } + BRegion background; _RebuildClippingForAllWindows(background); @@ -1314,6 +1319,12 @@ Desktop::ResizeWindowBy(WindowLayer* window, float x, float y) if (!LockAllWindows()) return; + if (!window->IsVisible()) { + window->ResizeBy(x, y, NULL); + UnlockAllWindows(); + return; + } + // the dirty region for the inside of the window is // constructed by the window itself in ResizeBy() BRegion newDirtyRegion;