From 270782c8a57cd16658d4891ab2cc310bc9ad1aad Mon Sep 17 00:00:00 2001 From: markt Date: Mon, 20 Aug 2007 14:31:43 +0000 Subject: fix problems with focus order when changing workspaces --- ChangeLog | 3 +++ src/FocusControl.cc | 6 ++++-- 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 @@ (Format: Year/Month/Day) Changes for 1.0.0: +*07/08/20: + * Fix some focus issues with moving windows between workspaces (Mark) + FocusControl.cc *07/08/12: * Updated de_* translations, #1767986 ( Thanks Christian Loosli ) *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) { if (s_reverting) return; - FocusControl::s_reverting = true; - WinClient *next_focus = screen.focusControl().lastFocusedWindow(screen.currentWorkspaceID()); + if (next_focus && next_focus->fbwindow() && + next_focus->fbwindow()->isStuck()) + FocusControl::s_reverting = true; + // if setting focus fails, or isn't possible, fallback correctly if (!(next_focus && next_focus->focus())) { setFocusedWindow(0); // so we don't get dangling m_focused_window pointer -- cgit v0.11.2