From 0c9593acdc880616c869aebc84be69d5403f32b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Fri, 14 Nov 2008 13:44:25 +0000 Subject: [PATCH] * Minor simplification and clarification. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28650 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/servers/app/Desktop.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/servers/app/Desktop.cpp b/src/servers/app/Desktop.cpp index 3de855f34d..5f1f36a058 100644 --- a/src/servers/app/Desktop.cpp +++ b/src/servers/app/Desktop.cpp @@ -1568,8 +1568,7 @@ Desktop::ActivateWindow(Window* window) fFront = NULL; return; } - if (window->Workspaces() == 0 - && !window->IsFloating() && !window->IsModal()) + if (window->Workspaces() == 0 && window->IsNormal()) return; AutoWriteLocker _(fWindowLock); @@ -1594,7 +1593,7 @@ Desktop::ActivateWindow(Window* window) } if (windowOnOtherWorkspace) { - if (window->IsFloating() || window->IsModal()) { + if (!window->IsNormal()) { // Bring a window to front that this floating window belongs to Window* front = _LastFocusSubsetWindow(window); if (front == NULL) { @@ -1734,6 +1733,9 @@ Desktop::ShowWindow(Window* window) window->SetHidden(false); fFocusList.AddWindow(window); + // If the window is on the current workspace, we'll show it. Special + // handling for floating windows, as they can only be shown if their + // subset is. if (window->InWorkspace(fCurrentWorkspace) || (window->IsFloating() && _LastFocusSubsetWindow(window) != NULL)) { _ShowWindow(window, true);