diff --git a/src/status.cpp b/src/status.cpp index 3d3d14b3..405ee907 100644 --- a/src/status.cpp +++ b/src/status.cpp @@ -191,6 +191,15 @@ void Status::trace(bool update_timer, bool update_window_timeout) { if (update_timer) Timer = boost::posix_time::microsec_clock::local_time(); + if (update_window_timeout) + { + // set appropriate window timeout + int nc_wtimeout = std::numeric_limits::max(); + applyToVisibleWindows([&nc_wtimeout](BaseScreen *s) { + nc_wtimeout = std::min(nc_wtimeout, s->windowTimeout()); + }); + wFooter->setTimeout(nc_wtimeout); + } if (Mpd.Connected()) { if (!m_status_initialized) @@ -208,16 +217,6 @@ void Status::trace(bool update_timer, bool update_window_timeout) applyToVisibleWindows(&BaseScreen::update); Statusbar::tryRedraw(); - if (update_window_timeout) - { - // set appropriate window timeout - int nc_wtimeout = std::numeric_limits::max(); - applyToVisibleWindows([&nc_wtimeout](BaseScreen *s) { - nc_wtimeout = std::min(nc_wtimeout, s->windowTimeout()); - }); - wFooter->setTimeout(nc_wtimeout); - } - Mpd.idle(); } }