From ed8273883ec9066f6ac8867e54895656b983c9dd Mon Sep 17 00:00:00 2001 From: louis Date: Fri, 27 May 2016 12:13:39 +0200 Subject: fixed ending of animations --- coreengine/animation.c | 6 +++--- coreengine/viewelement.c | 20 ++++++++++---------- coreengine/viewelement.h | 1 + 3 files changed, 14 insertions(+), 13 deletions(-) (limited to 'coreengine') diff --git a/coreengine/animation.c b/coreengine/animation.c index a477eaf..be9b95f 100644 --- a/coreengine/animation.c +++ b/coreengine/animation.c @@ -224,11 +224,11 @@ void cAnimation::Detach(void) { if (delay > 0) Sleep(delay); } - if (!Running()) return; + //if (!Running()) return; detachable->ParseDetached(); - if (!Running()) return; + //if (!Running()) return; detachable->RenderDetached(); - if (!Running()) return; + //if (!Running()) return; if (!doAnimation) detachable->Flush(false); if (!Running()) return; diff --git a/coreengine/viewelement.c b/coreengine/viewelement.c index eaa9814..89fb69d 100644 --- a/coreengine/viewelement.c +++ b/coreengine/viewelement.c @@ -299,10 +299,7 @@ void cViewElement::Clear(bool forceClearBackground) { } void cViewElement::Hide(void) { - delete shifter; - shifter = NULL; - delete fader; - fader = NULL; + StopAnimation(); for (cAreaNode *node = areaNodes.First(); node; node = areaNodes.Next(node)) { sdOsd->Lock(); node->Hide(); @@ -328,12 +325,7 @@ void cViewElement::WakeUp(void) { } void cViewElement::Close(void) { - delete detacher; - detacher = NULL; - delete fader; - fader = NULL; - delete shifter; - shifter = NULL; + StopAnimation(); StopScrolling(); for (cAreaNode *node = areaNodes.First(); node; node = areaNodes.Next(node)) { node->StopBlinkers(); @@ -581,3 +573,11 @@ cPoint cViewElement::ShiftStart(cRect &shiftbox) { return start; } +void cViewElement::StopAnimation(void) { + delete detacher; + detacher = NULL; + delete shifter; + shifter = NULL; + delete fader; + fader = NULL; +} \ No newline at end of file diff --git a/coreengine/viewelement.h b/coreengine/viewelement.h index fb5e7dd..fa7c4cc 100644 --- a/coreengine/viewelement.h +++ b/coreengine/viewelement.h @@ -43,6 +43,7 @@ protected: void InheritTokenContainerDeep(void); virtual bool DoScroll(void) { return true; }; cPoint ShiftStart(cRect &shiftbox); + void StopAnimation(void); public: cViewElement(void); cViewElement(const cViewElement &other); -- cgit v1.2.3