summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlouis <louis.braun@gmx.de>2016-09-24 14:25:58 +0200
committerlouis <louis.braun@gmx.de>2016-09-24 14:25:58 +0200
commitcc1efd1d2e9507c5b4619f58938974d35cfff69d (patch)
tree49726f990b2f73d0dff8ac9e53aee17872144aff
parentead80569902d78fe72731a529aac82b23efa6470 (diff)
downloadvdr-plugin-skindesigner-cc1efd1d2e9507c5b4619f58938974d35cfff69d.tar.gz
vdr-plugin-skindesigner-cc1efd1d2e9507c5b4619f58938974d35cfff69d.tar.bz2
fixed crash when replacing recording menu with extrecmenu
-rw-r--r--coreengine/listelements.c4
-rw-r--r--coreengine/viewdisplaymenu.c10
2 files changed, 9 insertions, 5 deletions
diff --git a/coreengine/listelements.c b/coreengine/listelements.c
index 3b2037f..9d7a3d0 100644
--- a/coreengine/listelements.c
+++ b/coreengine/listelements.c
@@ -1610,6 +1610,7 @@ cLeMenuRecordings::cLeMenuRecordings(const cLeMenuRecordings &other) : cListElem
}
cLeMenuRecordings::~cLeMenuRecordings(void) {
+ delete recording;
}
void cLeMenuRecordings::SetTokenContainer(void) {
@@ -1657,7 +1658,7 @@ void cLeMenuRecordings::ClearCurrentElement(void) {
}
void cLeMenuRecordings::Set(const cRecording *recording, int level, int total, int New) {
- this->recording = recording;
+ this->recording = new cRecording(recording->FileName());
this->level = level;
this->total = total;
this->New = New;
@@ -1841,6 +1842,7 @@ cCeMenuRecordings::cCeMenuRecordings(void) {
}
cCeMenuRecordings::~cCeMenuRecordings(void) {
+ delete recording;
}
void cCeMenuRecordings::SetTokenContainer(void) {
diff --git a/coreengine/viewdisplaymenu.c b/coreengine/viewdisplaymenu.c
index 88ad756..783cf2d 100644
--- a/coreengine/viewdisplaymenu.c
+++ b/coreengine/viewdisplaymenu.c
@@ -535,10 +535,12 @@ bool cViewMenu::Init(void) {
}
void cViewMenu::Close(void) {
- animator->Stop();
- animator->Finish();
- delete animator;
- animator = NULL;
+ if (animator) {
+ animator->Stop();
+ animator->Finish();
+ delete animator;
+ animator = NULL;
+ }
for (int i=0; i < numSubviews; i++) {
if (subViews[i]) {
subViews[i]->Close();