* Always set the focus to the moved window on workspace switch.
* This fixes a part of ticket #5675. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36584 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
f23be5bbed
commit
8104bd5422
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2001-2009, Haiku.
|
* Copyright 2001-2010, Haiku.
|
||||||
* Distributed under the terms of the MIT License.
|
* Distributed under the terms of the MIT License.
|
||||||
*
|
*
|
||||||
* Authors:
|
* Authors:
|
||||||
|
@ -3251,8 +3251,10 @@ Desktop::_SetWorkspace(int32 index, bool moveFocusWindow)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set new focus, but keep focus to a floating window if still visible
|
// Set new focus, but keep focus to a floating window if still visible
|
||||||
if (!_Windows(index).HasWindow(FocusWindow())
|
if (movedWindow != NULL)
|
||||||
|| !FocusWindow()->IsFloating())
|
SetFocusWindow(movedWindow);
|
||||||
|
else if (!_Windows(index).HasWindow(FocusWindow())
|
||||||
|
|| (FocusWindow() != NULL && !FocusWindow()->IsFloating()))
|
||||||
SetFocusWindow(fLastWorkspaceFocus[index]);
|
SetFocusWindow(fLastWorkspaceFocus[index]);
|
||||||
|
|
||||||
_WindowChanged(NULL);
|
_WindowChanged(NULL);
|
||||||
|
|
Loading…
Reference in New Issue