* When the window to be activated isn't a normal visible window (ie. floating

or modal), we need to check if our effort to make it visible (by activating
  its subset window) was successful. This fixes bug #3201.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28843 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler 2009-01-02 10:33:46 +00:00
parent 74c05b1d3c
commit 790d3aee0a
1 changed files with 7 additions and 2 deletions

View File

@ -1125,7 +1125,7 @@ Desktop::ScreenChanged(Screen* screen, bool makeDefault)
// update our cached screen region
fScreenRegion.Set(screen->Frame());
gInputManager->UpdateScreenBounds(screen->Frame());
BRegion background;
_RebuildClippingForAllWindows(background);
@ -1170,7 +1170,7 @@ Desktop::StoreConfiguration(int32 workspace)
fSettings->Save(kWorkspacesSettings);
return B_OK;
}
return B_BAD_VALUE;
}
@ -1656,6 +1656,11 @@ Desktop::ActivateWindow(Window* window)
}
ActivateWindow(front);
if (!window->InWorkspace(fCurrentWorkspace)) {
// This window can't be made active
return;
}
} else {
// Bring the window to the current workspace
// TODO: what if this window is on multiple workspaces?!?