diff options
author | markt <markt> | 2007-08-20 14:31:43 (GMT) |
---|---|---|
committer | markt <markt> | 2007-08-20 14:31:43 (GMT) |
commit | 270782c8a57cd16658d4891ab2cc310bc9ad1aad (patch) | |
tree | f9be33207ad0bd3258485917c66752494a947b61 | |
parent | 6f2c707eef68d212ccb5b6b82da337dff2ac956e (diff) | |
download | fluxbox-270782c8a57cd16658d4891ab2cc310bc9ad1aad.zip fluxbox-270782c8a57cd16658d4891ab2cc310bc9ad1aad.tar.bz2 |
fix problems with focus order when changing workspaces
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | src/FocusControl.cc | 6 |
2 files changed, 7 insertions, 2 deletions
@@ -1,5 +1,8 @@ | |||
1 | (Format: Year/Month/Day) | 1 | (Format: Year/Month/Day) |
2 | Changes for 1.0.0: | 2 | Changes for 1.0.0: |
3 | *07/08/20: | ||
4 | * Fix some focus issues with moving windows between workspaces (Mark) | ||
5 | FocusControl.cc | ||
3 | *07/08/12: | 6 | *07/08/12: |
4 | * Updated de_* translations, #1767986 ( Thanks Christian Loosli ) | 7 | * Updated de_* translations, #1767986 ( Thanks Christian Loosli ) |
5 | *07/08/11: | 8 | *07/08/11: |
diff --git a/src/FocusControl.cc b/src/FocusControl.cc index 7b2fecd..d4cb410 100644 --- a/src/FocusControl.cc +++ b/src/FocusControl.cc | |||
@@ -421,11 +421,13 @@ void FocusControl::revertFocus(BScreen &screen) { | |||
421 | if (s_reverting) | 421 | if (s_reverting) |
422 | return; | 422 | return; |
423 | 423 | ||
424 | FocusControl::s_reverting = true; | ||
425 | |||
426 | WinClient *next_focus = | 424 | WinClient *next_focus = |
427 | screen.focusControl().lastFocusedWindow(screen.currentWorkspaceID()); | 425 | screen.focusControl().lastFocusedWindow(screen.currentWorkspaceID()); |
428 | 426 | ||
427 | if (next_focus && next_focus->fbwindow() && | ||
428 | next_focus->fbwindow()->isStuck()) | ||
429 | FocusControl::s_reverting = true; | ||
430 | |||
429 | // if setting focus fails, or isn't possible, fallback correctly | 431 | // if setting focus fails, or isn't possible, fallback correctly |
430 | if (!(next_focus && next_focus->focus())) { | 432 | if (!(next_focus && next_focus->focus())) { |
431 | setFocusedWindow(0); // so we don't get dangling m_focused_window pointer | 433 | setFocusedWindow(0); // so we don't get dangling m_focused_window pointer |