From da8d6b3f60a3eb39ca47cfcb9aa5b2f445050102 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Mon, 26 Aug 2002 21:27:23 +0000 Subject: [PATCH] dont break the focused window iterator --- util/epist/screen.cc | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/util/epist/screen.cc b/util/epist/screen.cc index 982c2173..416bb9bd 100644 --- a/util/epist/screen.cc +++ b/util/epist/screen.cc @@ -541,16 +541,18 @@ void screen::updateActiveWindow() { _active = it; - /* if we're not cycling and a window gets focus, add it to the top of the - * cycle stack. - */ - if (_stacked_cycling && !_cycling) { - _clients.remove(*_active); - _clients.push_front(*_active); - } + if (_active != end) { + /* if we're not cycling and a window gets focus, add it to the top of the + * cycle stack. + */ + if (_stacked_cycling && !_cycling) { + _clients.remove(*_active); + _clients.push_front(*_active); + _active = _clients.begin(); + } - if (it != end) - _last_active = it; + _last_active = _active; + } /* cout << "Active window is now: "; if (_active == _clients.end()) cout << "None\n"; -- 2.45.2