From 21732b177721386ab23ac6a3fa1d145e0049aee4 Mon Sep 17 00:00:00 2001 From: louis Date: Wed, 17 Feb 2016 18:08:38 +0100 Subject: fixed display of header in schedules menu --- coreengine/viewelementsdisplaymenu.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'coreengine/viewelementsdisplaymenu.c') diff --git a/coreengine/viewelementsdisplaymenu.c b/coreengine/viewelementsdisplaymenu.c index b7c20e9..cfe0540 100644 --- a/coreengine/viewelementsdisplaymenu.c +++ b/coreengine/viewelementsdisplaymenu.c @@ -11,6 +11,7 @@ * cVeDmHeader ******************************************************************/ cVeDmHeader::cVeDmHeader(void) { + changed = false; title = NULL; channelName = NULL; channelNumber = 0; @@ -48,12 +49,11 @@ void cVeDmHeader::SetTokenContainer(void) { } void cVeDmHeader::SetTitle(const char *title) { + if (this->title && !strcmp(this->title, title)) + return; + free(this->title); this->title = strdup(title); - free(channelName); - channelName = NULL; - channelNumber = 0; - free(channelId); - channelId = NULL; + changed = true; } void cVeDmHeader::SetChannel(const cChannel *channel) { @@ -65,6 +65,8 @@ void cVeDmHeader::SetChannel(const cChannel *channel) { } void cVeDmHeader::Set(eMenuCategory menuCat) { + if (!changed) + return; tokenContainer->Clear(); tokenContainer->AddStringToken((int)eDMHeaderST::title, title); tokenContainer->AddStringToken((int)eDMHeaderST::vdrversion, VDRVERSION); @@ -101,6 +103,7 @@ void cVeDmHeader::Set(eMenuCategory menuCat) { tokenContainer->AddIntToken((int)eDMHeaderIT::channelnumber, channelNumber); tokenContainer->AddIntToken((int)eDMHeaderIT::channellogoexists, imgCache->LogoExists(channelId)); } + changed = false; SetDirty(); } -- cgit v1.2.3