summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlouis <louis.braun@gmx.de>2016-05-27 12:13:39 +0200
committerlouis <louis.braun@gmx.de>2016-05-27 12:13:39 +0200
commited8273883ec9066f6ac8867e54895656b983c9dd (patch)
treec78936ccbb0d36555dbbdade6baa345783c79855
parentaa8370363abde2ee024d1023a948b528dc512985 (diff)
downloadvdr-plugin-skindesigner-ed8273883ec9066f6ac8867e54895656b983c9dd.tar.gz
vdr-plugin-skindesigner-ed8273883ec9066f6ac8867e54895656b983c9dd.tar.bz2
fixed ending of animations
-rw-r--r--coreengine/animation.c6
-rw-r--r--coreengine/viewelement.c20
-rw-r--r--coreengine/viewelement.h1
3 files changed, 14 insertions, 13 deletions
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);