diff options
Diffstat (limited to 'src/FocusControl.cc')
-rw-r--r-- | src/FocusControl.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/FocusControl.cc b/src/FocusControl.cc index 3be7937..f59b5ff 100644 --- a/src/FocusControl.cc +++ b/src/FocusControl.cc | |||
@@ -588,6 +588,13 @@ void FocusControl::setFocusedWindow(WinClient *client) { | |||
588 | } | 588 | } |
589 | } | 589 | } |
590 | 590 | ||
591 | if (client != expectingFocus() && s_focused_window && | ||
592 | ((s_focused_fbwindow->focusProtection() & Focus::Lock) || | ||
593 | (client && client->fbwindow() && (client->fbwindow()->focusProtection() & Focus::Deny)))) { | ||
594 | s_focused_window->focus(); | ||
595 | return; | ||
596 | } | ||
597 | |||
591 | BScreen *old_screen = | 598 | BScreen *old_screen = |
592 | FocusControl::focusedWindow() ? | 599 | FocusControl::focusedWindow() ? |
593 | &FocusControl::focusedWindow()->screen() : 0; | 600 | &FocusControl::focusedWindow()->screen() : 0; |