* 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:
parent
74c05b1d3c
commit
790d3aee0a
@ -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?!?
|
||||
|
Loading…
x
Reference in New Issue
Block a user