summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkamel5 <kamel5 (at) gmx (dot) net>2018-05-03 13:53:14 +0200
committerkamel5 <kamel5 (at) gmx (dot) net>2018-05-03 13:53:14 +0200
commitda85481fe0737ead0a0f6cc031d9d8ed23f89692 (patch)
tree9e9c474c18db19dac9f1aadc4f1ae492f967986a
parente2db68198582fe7a2e85dd616f575fd321a3970f (diff)
downloadskin-nopacity-da85481fe0737ead0a0f6cc031d9d8ed23f89692.tar.gz
skin-nopacity-da85481fe0737ead0a0f6cc031d9d8ed23f89692.tar.bz2
Repair "invalid lock sequence report"
-rw-r--r--displaychannel.c30
-rw-r--r--displaychannel.h1
-rw-r--r--displaychannelview.c19
-rw-r--r--displaychannelview.h1
4 files changed, 31 insertions, 20 deletions
diff --git a/displaychannel.c b/displaychannel.c
index e90d180..f726358 100644
--- a/displaychannel.c
+++ b/displaychannel.c
@@ -90,30 +90,12 @@ void cNopacityDisplayChannel::SetEvents(const cEvent *Present, const cEvent *Fol
if (!doOutput)
return;
present = Present;
+ following = Following;
channelView->ClearProgressBar();
if (!groupSep) {
channelView->DrawProgressbarBackground();
channelView->ClearEPGInfo();
}
- if (Present) {
- if (!groupSep) {
- SetProgressBar(Present);
- }
- bool recCurrent = false;
- eTimerMatch TimerMatch = tmNone;
- LOCK_TIMERS_READ;
- const cTimer *Timer = Timers->GetMatch(Present, &TimerMatch);
- if (Timer && Timer->Recording()) {
- recCurrent = true;
- }
- channelView->DrawEPGInfo(Present, true, recCurrent);
- }
- if (Following) {
- bool recFollowing = Following->HasTimer();
- channelView->DrawEPGInfo(Following, false, recFollowing);
- }
- if (config.GetValue("displayPoster"))
- channelView->DrawPoster(Present, initial);
}
void cNopacityDisplayChannel::SetProgressBar(const cEvent *present) {
@@ -148,11 +130,19 @@ void cNopacityDisplayChannel::Flush(void) {
if (initial || channelChange)
channelView->DrawDate();
- if (present) {
+ if (present && !groupSep) {
SetProgressBar(present);
} else
channelView->ClearProgressBar();
+ if (!groupSep) {
+ channelView->ClearEPGInfo();
+ channelView->DrawEvents(present, following);
+ }
+
+ if (config.GetValue("displayPoster"))
+ channelView->DrawPoster(present, initial);
+
if (!groupSep)
channelView->DrawScreenResolution();
else
diff --git a/displaychannel.h b/displaychannel.h
index 65b6884..2a56059 100644
--- a/displaychannel.h
+++ b/displaychannel.h
@@ -20,6 +20,7 @@ private:
int currentLast;
bool showSignal;
const cEvent *present;
+ const cEvent *following;
virtual void Action(void);
void SetProgressBar(const cEvent *present);
public:
diff --git a/displaychannelview.c b/displaychannelview.c
index 9c6a671..ece2edf 100644
--- a/displaychannelview.c
+++ b/displaychannelview.c
@@ -374,6 +374,25 @@ void cNopacityDisplayChannelView::ClearProgressBar(void) {
pixmapProgressBar->Fill(clrTransparent);
}
+void cNopacityDisplayChannelView::DrawEvents(const cEvent *Present, const cEvent *Following) {
+ if (Present) {
+ bool recCurrent = false;
+ eTimerMatch TimerMatch = tmNone;
+ const cTimer *Timer;
+ {
+ LOCK_TIMERS_READ;
+ Timer = Timers->GetMatch(Present, &TimerMatch);
+ }
+ if (Timer && Timer->Recording()) {
+ recCurrent = true;
+ }
+ DrawEPGInfo(Present, true, recCurrent);
+ }
+ if (Following) {
+ bool recFollowing = Following->HasTimer();
+ DrawEPGInfo(Following, false, recFollowing);
+ }
+}
void cNopacityDisplayChannelView::DrawEPGInfo(const cEvent *e, bool present, bool recording) {
int indent = 20;
diff --git a/displaychannelview.h b/displaychannelview.h
index 7a3fd91..8a63bb5 100644
--- a/displaychannelview.h
+++ b/displaychannelview.h
@@ -50,6 +50,7 @@ public:
void DrawProgressbarBackground(void);
void DrawProgressBar(int Current, int Total);
void ClearProgressBar(void);
+ void DrawEvents(const cEvent *Present, const cEvent *Following);
void DrawEPGInfo(const cEvent *e, bool present, bool recording);
void ClearEPGInfo(void);
void DrawStatusIcons(const cChannel *Channel);