From 0aab77520119db3f1f143a820937607c30a14c8d Mon Sep 17 00:00:00 2001 From: louis Date: Sun, 21 Feb 2016 15:09:35 +0100 Subject: [PATCH] fixed bug that currentelement is not flushed if fadetime = 0 --- coreengine/animation.c | 7 ++++--- coreengine/viewelement.c | 3 ++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/coreengine/animation.c b/coreengine/animation.c index aea51a6..2e703ee 100644 --- a/coreengine/animation.c +++ b/coreengine/animation.c @@ -198,11 +198,12 @@ void cAnimation::Scroll(void) { void cAnimation::Detach(void) { if (waitOnWakeup) { Wait(); - int delay = 100 + detachable->Delay(); - Sleep(delay); + int delay = 50 + detachable->Delay(); + Sleep(delay); } else { int delay = detachable->Delay(); - Sleep(delay); + if (delay > 0) + Sleep(delay); } if (!Running()) return; detachable->ParseDetached(); diff --git a/coreengine/viewelement.c b/coreengine/viewelement.c index 4759b60..69377d0 100644 --- a/coreengine/viewelement.c +++ b/coreengine/viewelement.c @@ -463,7 +463,8 @@ bool cViewElement::Parse(bool forced) { return true; } delete detacher; - detacher = new cAnimation((cDetachable*)this, waitOnWakeup, startAnimation); + bool isAnimated = (FadeTime() > 0) || (ShiftTime() > 0); + detacher = new cAnimation((cDetachable*)this, waitOnWakeup, startAnimation && isAnimated); detacher->Start(); startAnimation = false; init = false;