summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlouis <louis.braun@gmx.de>2016-05-11 17:37:32 +0200
committerlouis <louis.braun@gmx.de>2016-05-11 17:37:32 +0200
commit01945e83fcea2f2bf8900e6080343623a6c15055 (patch)
treea2d9ddc93d9a75f90825d7bb0007f45951fe33ae
parent32b78b2f57b48da1f3461edbec0108ad571b92d0 (diff)
downloadvdr-plugin-skindesigner-01945e83fcea2f2bf8900e6080343623a6c15055.tar.gz
vdr-plugin-skindesigner-01945e83fcea2f2bf8900e6080343623a6c15055.tar.bz2
fixed loading of timers in displaychannel
-rw-r--r--coreengine/viewdisplaychannel.c8
-rw-r--r--coreengine/viewdisplaychannel.h1
-rw-r--r--coreengine/viewelementsdisplaychannel.c12
3 files changed, 15 insertions, 6 deletions
diff --git a/coreengine/viewdisplaychannel.c b/coreengine/viewdisplaychannel.c
index 5a6bb68..f8e163a 100644
--- a/coreengine/viewdisplaychannel.c
+++ b/coreengine/viewdisplaychannel.c
@@ -104,10 +104,15 @@ void cViewChannel::ClearVariables(void) {
displayChannelGroups = false;
if (veCustomTokens)
veCustomTokens->Reset();
+ timersLoaded = false;
globalTimers.ClearTimers();
}
void cViewChannel::SetChannel(const cChannel *channel, int number) {
+ if (!timersLoaded) {
+ timersLoaded = true;
+ globalTimers.LoadTimers();
+ }
channelChange = true;
bool wasChannelGroups = displayChannelGroups;
displayChannelGroups = false;
@@ -144,7 +149,8 @@ void cViewChannel::SetChannel(const cChannel *channel, int number) {
}
void cViewChannel::SetEvents(const cEvent *present, const cEvent *following) {
- if (init) {
+ if (!timersLoaded) {
+ timersLoaded = true;
globalTimers.LoadTimers();
}
Clear((int)eVeDisplayChannel::epginfo);
diff --git a/coreengine/viewdisplaychannel.h b/coreengine/viewdisplaychannel.h
index e05217e..623ec14 100644
--- a/coreengine/viewdisplaychannel.h
+++ b/coreengine/viewdisplaychannel.h
@@ -17,6 +17,7 @@ private:
cVeDcEcmInfo *veEcmInfo;
bool channelChange;
bool displayChannelGroups;
+ bool timersLoaded;
cGlobalTimers globalTimers;
void SetViewElements(void);
void ClearVariables(void);
diff --git a/coreengine/viewelementsdisplaychannel.c b/coreengine/viewelementsdisplaychannel.c
index 2004d5a..b4a2f89 100644
--- a/coreengine/viewelementsdisplaychannel.c
+++ b/coreengine/viewelementsdisplaychannel.c
@@ -320,14 +320,16 @@ void cVeDcStatusInfo::Set(const cChannel *c) {
bool isEncrypted = c->Ca();
bool isRecording = cRecordControls::Active();
- for (int i = 0; i < globalTimers->Size() && !isRecording; i++)
- if (const cTimer *Timer = globalTimers->At(i))
+ for (int i = 0; i < globalTimers->Size() && !isRecording; i++) {
+ if (const cTimer *Timer = globalTimers->At(i)) {
if (Timer->Recording())
isRecording = true;
else if (cEpgTimer_Interface_V1* epgTimer = dynamic_cast<cEpgTimer_Interface_V1*>((cTimer*)Timer)) {
- if (epgTimer->State() == 'R')
- isRecording = true;
- }
+ if (epgTimer->State() == 'R')
+ isRecording = true;
+ }
+ }
+ }
tokenContainer->AddIntToken((int)eDCStatusInfoIT::isRadio, isRadio);
tokenContainer->AddIntToken((int)eDCStatusInfoIT::hasVT, hasVT);