Now the kDesktopWindowFeel means also that the window doesn't want focus.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15953 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
ddb7d0b6a6
commit
3532dd20d5
@ -22,6 +22,7 @@
|
||||
#include "ServerConfig.h"
|
||||
#include "ServerScreen.h"
|
||||
#include "ServerWindow.h"
|
||||
#include "WindowPrivate.h"
|
||||
#include "WindowLayer.h"
|
||||
#include "Workspace.h"
|
||||
#include "WorkspacesLayer.h"
|
||||
@ -896,8 +897,8 @@ Desktop::SetFocusWindow(WindowLayer* focus)
|
||||
|
||||
// TODO: test for FFM and B_LOCK_WINDOW_FOCUS
|
||||
|
||||
if (focus == fFocus && focus != NULL && (focus->Flags() & B_AVOID_FOCUS) == 0
|
||||
&& !hasModal) {
|
||||
if ((focus == fFocus && focus != NULL && (focus->Flags() & B_AVOID_FOCUS) == 0
|
||||
&& !hasModal) || focus->Feel() == kDesktopWindowFeel) {
|
||||
// the window that is supposed to get focus already has focus
|
||||
UnlockAllWindows();
|
||||
return;
|
||||
|
@ -823,7 +823,7 @@ WindowLayer::MouseDown(BMessage* message, BPoint where, int32* _viewToken)
|
||||
DesktopSettings desktopSettings(fDesktop);
|
||||
|
||||
// Activate window in case it doesn't accept first click, and
|
||||
// we're not in FFM mode
|
||||
// we're not in FFM mode, and it's not the desktop window
|
||||
if ((Flags() & B_WILL_ACCEPT_FIRST_CLICK) == 0
|
||||
&& desktopSettings.MouseMode() == B_NORMAL_MOUSE)
|
||||
fDesktop->ActivateWindow(this);
|
||||
@ -976,7 +976,8 @@ WindowLayer::MouseMoved(BMessage *msg, BPoint where, int32* _viewToken,
|
||||
// change focus in FFM mode
|
||||
DesktopSettings desktopSettings(fDesktop);
|
||||
|
||||
if (desktopSettings.MouseMode() != B_NORMAL_MOUSE && !IsFocus() && !(Flags() & B_AVOID_FOCUS))
|
||||
if (desktopSettings.MouseMode() != B_NORMAL_MOUSE && !IsFocus()
|
||||
&& !(Flags() & B_AVOID_FOCUS) && Feel() != kDesktopWindowFeel)
|
||||
fDesktop->SetFocusWindow(this);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user