From a1269c2667bbee52ddde65000ae38c7ab8fcd9ad Mon Sep 17 00:00:00 2001 From: louis Date: Sun, 20 Mar 2016 13:33:28 +0100 Subject: fixed display of clock in displayreplay during pause --- coreengine/viewdisplayreplay.c | 18 +++++++++++------- coreengine/viewdisplayreplay.h | 1 + 2 files changed, 12 insertions(+), 7 deletions(-) (limited to 'coreengine') diff --git a/coreengine/viewdisplayreplay.c b/coreengine/viewdisplayreplay.c index 5d5ef33..1156b8a 100644 --- a/coreengine/viewdisplayreplay.c +++ b/coreengine/viewdisplayreplay.c @@ -138,6 +138,7 @@ void cViewReplay::ClearVariables(void) { cView::ClearVariables(); modeOnly = false; lastFlush = 0; + lastFlushModeOnly = 0; message = false; reclength = -1; timeShiftActive = false; @@ -183,11 +184,6 @@ void cViewReplay::SetCurrent(const char *current) { if (veCurrentTime) veCurrentTime->Set(current); Render((int)eVeDisplayReplay::currenttime); - //good place to refresh these viewelements - //since SetCurrent is called every second - Render((int)eVeDisplayReplay::datetime); - Render((int)eVeDisplayReplay::time); - Render((int)eVeDisplayChannel::customtokens); } void cViewReplay::SetTotal(const char *total) { @@ -285,6 +281,14 @@ void cViewReplay::Flush(void) { } } + time_t now = time(0); + if (now != lastFlush) { + Render((int)eVeDisplayReplay::datetime); + Render((int)eVeDisplayReplay::time); + Render((int)eVeDisplayChannel::customtokens); + lastFlush = now; + } + if (modeOnly) { SetProgressModeOnly(); } @@ -296,10 +300,10 @@ void cViewReplay::SetProgressModeOnly(void) { if (!veProgressModeOnly) return; time_t now = time(0); - if (now == lastFlush) { + if (now == lastFlushModeOnly) { return; } - lastFlush = now; + lastFlushModeOnly = now; cControl *control = cControl::Control(); if (!control) diff --git a/coreengine/viewdisplayreplay.h b/coreengine/viewdisplayreplay.h index 64fbd51..20f4f92 100644 --- a/coreengine/viewdisplayreplay.h +++ b/coreengine/viewdisplayreplay.h @@ -23,6 +23,7 @@ private: cVeDrOnPause *veOnPauseModeOnly; bool modeOnly; time_t lastFlush; + time_t lastFlushModeOnly; bool message; int reclength; bool timeShiftActive; -- cgit v1.2.3