summaryrefslogtreecommitdiff
path: root/coreengine/viewelementsdisplaymenu.c
diff options
context:
space:
mode:
Diffstat (limited to 'coreengine/viewelementsdisplaymenu.c')
-rw-r--r--coreengine/viewelementsdisplaymenu.c13
1 files changed, 11 insertions, 2 deletions
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;