summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlouis <louis.braun@gmx.de>2016-03-30 17:17:34 +0200
committerlouis <louis.braun@gmx.de>2016-03-30 17:17:34 +0200
commit3cc3c03f7dfb0bedd7256e73959ecafb2372fef7 (patch)
tree1407f3b3bc9ce864861fee52182e20736761a6be
parente59f285ac3e00b5bf0caff3d3bac76dcafa365ab (diff)
downloadvdr-plugin-skindesigner-3cc3c03f7dfb0bedd7256e73959ecafb2372fef7.tar.gz
vdr-plugin-skindesigner-3cc3c03f7dfb0bedd7256e73959ecafb2372fef7.tar.bz2
fixed incorrect display for channels without EPG
-rw-r--r--coreengine/viewdisplaymenu.c4
-rw-r--r--coreengine/viewelementsdisplaychannel.c5
-rw-r--r--coreengine/viewelementsdisplaychannel.h1
-rw-r--r--coreengine/viewelementsdisplaymenu.c13
-rw-r--r--coreengine/viewelementsdisplaymenu.h1
5 files changed, 21 insertions, 3 deletions
diff --git a/coreengine/viewdisplaymenu.c b/coreengine/viewdisplaymenu.c
index 21bdb52..6a9db57 100644
--- a/coreengine/viewdisplaymenu.c
+++ b/coreengine/viewdisplaymenu.c
@@ -405,6 +405,7 @@ void cViewMenu::SetMessage(eMessageType type, const char *text) {
void cViewMenu::SetChannelHeader(const cEvent *event) {
if (!event)
return;
+
if (menuChange && menuCat == mcSchedule) {
#if defined (APIVERSNUM) && (APIVERSNUM >= 20301)
LOCK_CHANNELS_READ;
@@ -793,7 +794,8 @@ eMenuOrientation cSubView::MenuOrientation(void) {
void cSubView::SetTitle(const char *title) {
if (header) {
- header->SetTitle(title);
+ header->SetTitle(title);
+ header->ClearChannel();
}
}
diff --git a/coreengine/viewelementsdisplaychannel.c b/coreengine/viewelementsdisplaychannel.c
index 7532f42..3384a53 100644
--- a/coreengine/viewelementsdisplaychannel.c
+++ b/coreengine/viewelementsdisplaychannel.c
@@ -569,6 +569,11 @@ cVeDcScraperContent::cVeDcScraperContent(void) {
cVeDcScraperContent::~cVeDcScraperContent(void) {
}
+void cVeDcScraperContent::Close(void) {
+ tokenContainer->Clear();
+ cViewElement::Close();
+}
+
void cVeDcScraperContent::SetTokenContainer(void) {
tokenContainer = new skindesignerapi::cTokenContainer();
tokenContainer->DefineStringToken("{posterpath}", (int)eScraperPosterBannerST::posterpath);
diff --git a/coreengine/viewelementsdisplaychannel.h b/coreengine/viewelementsdisplaychannel.h
index 78bc067..3505201 100644
--- a/coreengine/viewelementsdisplaychannel.h
+++ b/coreengine/viewelementsdisplaychannel.h
@@ -124,6 +124,7 @@ private:
public:
cVeDcScraperContent(void);
virtual ~cVeDcScraperContent(void);
+ void Close(void);
void SetTokenContainer(void);
void Set(const cEvent *e);
};
diff --git a/coreengine/viewelementsdisplaymenu.c b/coreengine/viewelementsdisplaymenu.c
index fdb8f10..eb73023 100644
--- a/coreengine/viewelementsdisplaymenu.c
+++ b/coreengine/viewelementsdisplaymenu.c
@@ -57,13 +57,22 @@ void cVeDmHeader::SetTitle(const char *title) {
}
void cVeDmHeader::SetChannel(const cChannel *channel) {
+ ClearChannel();
+ if (!channel)
+ return;
channelNumber = channel->Number();
- free(channelName);
- free(channelId);
channelName = strdup(channel->Name());
channelId = strdup(*(channel->GetChannelID().ToString()));
}
+void cVeDmHeader::ClearChannel(void) {
+ channelNumber = 0;
+ free(channelName);
+ channelName = NULL;
+ free(channelId);
+ channelId = NULL;
+}
+
void cVeDmHeader::Set(eMenuCategory menuCat) {
if (!changed)
return;
diff --git a/coreengine/viewelementsdisplaymenu.h b/coreengine/viewelementsdisplaymenu.h
index 1ffa1d2..b64954c 100644
--- a/coreengine/viewelementsdisplaymenu.h
+++ b/coreengine/viewelementsdisplaymenu.h
@@ -21,6 +21,7 @@ public:
void SetTokenContainer(void);
void SetTitle(const char *title);
void SetChannel(const cChannel *channel);
+ void ClearChannel(void);
void Set(eMenuCategory menuCat);
void IsEpgSearchFav(bool isFav) { epgSearchFav = isFav;} ;
};