From fef53dfffdb65fb3a3d2a9792d6a8f104f69d90a Mon Sep 17 00:00:00 2001 From: Clemens Zeidler Date: Tue, 31 Aug 2010 02:07:15 +0000 Subject: [PATCH] When activating one window in a group send all other windows behind this window and not activate them. This fix flickering of stacked windows. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38474 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/decorators/SATDecorator/StackAndTile.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/add-ons/decorators/SATDecorator/StackAndTile.cpp b/src/add-ons/decorators/SATDecorator/StackAndTile.cpp index 28ee36e9e7..7687e2bfa3 100644 --- a/src/add-ons/decorators/SATDecorator/StackAndTile.cpp +++ b/src/add-ons/decorators/SATDecorator/StackAndTile.cpp @@ -357,12 +357,15 @@ StackAndTile::_ActivateWindow(SATWindow* satWindow) if (!desktop) return; + desktop->ActivateWindow(satWindow->GetWindow()); + for (int i = 0; i < group->CountItems(); i++) { SATWindow* listWindow = group->WindowAt(i); - if (listWindow != satWindow) - desktop->ActivateWindow(listWindow->GetWindow()); + if (listWindow == satWindow) + continue; + desktop->SendWindowBehind(listWindow->GetWindow(), + satWindow->GetWindow()); } - desktop->ActivateWindow(satWindow->GetWindow()); }