Better fix for showing visualiser immediately after startup

This commit is contained in:
Andrzej Rybczak
2020-12-21 16:55:19 +01:00
parent 679cc7a2cb
commit 88025e2e93
2 changed files with 10 additions and 12 deletions

View File

@@ -189,9 +189,6 @@ int main(int argc, char **argv)
Mpd.Disconnect();
throw MPD::ClientError(MPD_ERROR_STATE, "MPD < 0.16.0 is not supported", false);
}
// Once the connection is established, run full Status::trace to set a
// proper window timeout, initialize status etc.
Status::trace(true, true);
}
catch (MPD::ClientError &e)
{

View File

@@ -209,15 +209,6 @@ 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<int>::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)
@@ -237,6 +228,16 @@ void Status::trace(bool update_timer, bool update_window_timeout)
Mpd.idle();
}
// Update timeout after MPD as it may depend on its status.
if (update_window_timeout)
{
// set appropriate window timeout
int nc_wtimeout = std::numeric_limits<int>::max();
applyToVisibleWindows([&nc_wtimeout](BaseScreen *s) {
nc_wtimeout = std::min(nc_wtimeout, s->windowTimeout());
});
wFooter->setTimeout(nc_wtimeout);
}
}
void Status::update(int event)