summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormarkt <markt>2007-08-20 14:31:43 (GMT)
committermarkt <markt>2007-08-20 14:31:43 (GMT)
commit270782c8a57cd16658d4891ab2cc310bc9ad1aad (patch)
treef9be33207ad0bd3258485917c66752494a947b61
parent6f2c707eef68d212ccb5b6b82da337dff2ac956e (diff)
downloadfluxbox_lack-270782c8a57cd16658d4891ab2cc310bc9ad1aad.zip
fluxbox_lack-270782c8a57cd16658d4891ab2cc310bc9ad1aad.tar.bz2
fix problems with focus order when changing workspaces
-rw-r--r--ChangeLog3
-rw-r--r--src/FocusControl.cc6
2 files changed, 7 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index e603874..09d79e1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
1 (Format: Year/Month/Day) 1 (Format: Year/Month/Day)
2Changes for 1.0.0: 2Changes 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