fixed bug that onpause view potentially starts during setting cutting marks

This commit is contained in:
louis
2015-01-22 18:08:12 +01:00
parent 48afaeed63
commit cacde1887c
6 changed files with 29 additions and 2 deletions

View File

@@ -6,6 +6,7 @@ cDisplayReplayOnPauseView::cDisplayReplayOnPauseView(cTemplateViewElement *tmplV
tmplViewElement->SetPixOffset(0);
delay = tmplViewElement->GetNumericParameter(ptDelay) * 1000;
SetFadeTime(tmplViewElement->GetNumericParameter(ptFadeTime));
resetSleep = false;
}
cDisplayReplayOnPauseView::~cDisplayReplayOnPauseView() {
@@ -83,7 +84,20 @@ void cDisplayReplayOnPauseView::Render(void) {
}
void cDisplayReplayOnPauseView::Action(void) {
DoSleep(delay);
bool doContinue;
int sleepSlice = 10;
do {
doContinue = false;
for (int i = 0; Running() && (i*sleepSlice < delay); i++) {
cCondWait::SleepMs(sleepSlice);
if (resetSleep) {
doContinue = true;
resetSleep = false;
break;
}
}
} while (doContinue);
if (!Running())
return;
Render();