summarylogtreecommitdiffstats
path: root/zappilot-0.0.5-vdr-2.3.1-porting.diff
diff options
context:
space:
mode:
authorManuel Reimer2018-12-25 16:37:34 +0100
committerManuel Reimer2018-12-25 16:37:34 +0100
commitbdc1de6d8441181c20812ce3be429566c46d3ab5 (patch)
tree27ad5fbfbcc0b847ba7b466c3274281ce369f490 /zappilot-0.0.5-vdr-2.3.1-porting.diff
parent667fc2e0b4d9da72c482919c09707cf5d18d5168 (diff)
downloadaur-bdc1de6d8441181c20812ce3be429566c46d3ab5.tar.gz
Sync from VDR4Arch (https://github.com/VDR4Arch/vdr4arch/commit/6c58086b5639e174f22d89575774ba793a9741b1)
Diffstat (limited to 'zappilot-0.0.5-vdr-2.3.1-porting.diff')
-rw-r--r--zappilot-0.0.5-vdr-2.3.1-porting.diff276
1 files changed, 276 insertions, 0 deletions
diff --git a/zappilot-0.0.5-vdr-2.3.1-porting.diff b/zappilot-0.0.5-vdr-2.3.1-porting.diff
new file mode 100644
index 000000000000..fae635a7507f
--- /dev/null
+++ b/zappilot-0.0.5-vdr-2.3.1-porting.diff
@@ -0,0 +1,276 @@
+--- b/zappilotosd.c 2015-06-24 14:32:15.000000000 +0200
++++ a/zappilotosd.c 2015-10-22 18:39:36.000000000 +0200
+@@ -69,7 +69,7 @@ cZappilotOsd::~cZappilotOsd(void)
+
+ void cZappilotOsd::DisplayChannel(const cChannel *Channel)
+ {
+- int BufSize = 255;
++ int BufSize = 1020;
+ if (Channel)
+ {
+ if (Channel->GroupSep())
+@@ -172,11 +172,11 @@ void cZappilotOsd::UpdateEPGInfo(int Now
+ titleFollowingInfo = NULL;
+ subtitlePresentInfo = NULL;
+ subtitleFollowingInfo = NULL;
+- cSchedulesLock SchedulesLock;
+- const cSchedules *Schedules = cSchedules::Schedules(SchedulesLock);
++ LOCK_SCHEDULES_READ;
++ LOCK_CHANNELS_READ;
+ if (Schedules)
+ {
+- const cSchedule *Schedule = Schedules->GetSchedule(Channels.GetByNumber(PilotChannelNumber)->GetChannelID());
++ const cSchedule *Schedule = Schedules->GetSchedule(Channels->GetByNumber(PilotChannelNumber)->GetChannelID());
+ if (Schedule)
+ {
+ // Get Present event
+@@ -267,9 +267,9 @@ void cZappilotOsd::UpdateEPGInfo(int Now
+ void cZappilotOsd::Show()
+ {
+ // find the actual current
+- cChannel *Channel = Channels.GetByNumber(cDevice::PrimaryDevice()->CurrentChannel());
+- currentChannel = Channels.GetByNumber(cDevice::PrimaryDevice()->CurrentChannel());
+-
++ LOCK_CHANNELS_READ;
++ const cChannel *Channel = Channels->GetByNumber(cDevice::PrimaryDevice()->CurrentChannel());
++ currentChannel = Channel;
+ if (Channel)
+ {
+ PilotChannelNumber = Channel->Number();
+@@ -333,13 +333,14 @@ eOSState cZappilotOsd::ProcessKey(eKeys
+ case k1 ... k9:
+ if (number >= 0)
+ {
+- if (number > Channels.MaxNumber())
++ LOCK_CHANNELS_READ;
++ if (number > Channels->MaxNumber())
+ number = Key - k0;
+ else
+ number = number * 10 + Key - k0;
+ if (number > 0)
+ {
+- cChannel *channel = Channels.GetByNumber(number);
++ const cChannel *channel = Channels->GetByNumber(number);
+ if (channel)
+ {
+ PilotChannelNumber = channel->Number();
+@@ -363,7 +364,8 @@ eOSState cZappilotOsd::ProcessKey(eKeys
+ if (config.fastbrowse)
+ {
+ CursorDown();
+- cChannel *channel = Channels.GetByNumber(PilotChannelNumber);
++ LOCK_CHANNELS_READ;
++ const cChannel *channel = Channels->GetByNumber(PilotChannelNumber);
+ if (channel)
+ group = channel->Index()-1;
+ break;
+@@ -380,7 +382,8 @@ eOSState cZappilotOsd::ProcessKey(eKeys
+ if (config.fastbrowse)
+ {
+ CursorUp();
+- cChannel *channel = Channels.GetByNumber(PilotChannelNumber);
++ LOCK_CHANNELS_READ;
++ const cChannel *channel = Channels->GetByNumber(PilotChannelNumber);
+ if (channel)
+ group = channel->Index()-1;
+ break;
+@@ -396,7 +399,8 @@ eOSState cZappilotOsd::ProcessKey(eKeys
+ {
+ if (group < 0)
+ {
+- cChannel *channel = Channels.GetByNumber(PilotChannelNumber);
++ LOCK_CHANNELS_READ;
++ const cChannel *channel = Channels->GetByNumber(PilotChannelNumber);
+ if (channel)
+ group = channel->Index();
+ }
+@@ -405,15 +409,18 @@ eOSState cZappilotOsd::ProcessKey(eKeys
+ int SaveGroup = group;
+ if (NORMALKEY(Key) == kRight)
+ {
+- group = Channels.GetNextGroup(group);
++ LOCK_CHANNELS_READ;
++ group = Channels->GetNextGroup(group);
+ }
+ else
+ {
+- group = Channels.GetPrevGroup(group < 1 ? 1 : group);
++ LOCK_CHANNELS_READ;
++ group = Channels->GetPrevGroup(group < 1 ? 1 : group);
+ }
+ if (group < 0)
+ group = SaveGroup;
+- cChannel *channel = Channels.Get(group);
++ LOCK_CHANNELS_READ;
++ const cChannel *channel = Channels->Get(group);
+ if (channel)
+ {
+ //DisplayChannel(channel);
+@@ -449,7 +456,8 @@ eOSState cZappilotOsd::ProcessKey(eKeys
+ else
+ {
+ CursorUp();
+- cChannel *channel = Channels.GetByNumber(PilotChannelNumber);
++ LOCK_CHANNELS_READ;
++ const cChannel *channel = Channels->GetByNumber(PilotChannelNumber);
+ if (channel)
+ group = channel->Index()-1;
+ break;
+@@ -466,20 +474,22 @@ eOSState cZappilotOsd::ProcessKey(eKeys
+ else
+ {
+ CursorDown();
+- cChannel *channel = Channels.GetByNumber(PilotChannelNumber);
++ LOCK_CHANNELS_READ;
++ const cChannel *channel = Channels->GetByNumber(PilotChannelNumber);
+ if (channel)
+- group = channel->Index()-1;
++ group = channel->Index()-1;
+ break;
+ }
+ case kNone:
+ if (number && (int)cTimeMs::Now() - lastTime > 1000)
+ {
+- if (Channels.GetByNumber(number))
++ LOCK_CHANNELS_READ;
++ if (Channels->GetByNumber(number))
+ {
+ PilotChannelNumber = number;
+ lastTime = cTimeMs::Now();
+ number = 0;
+- cChannel *channel = Channels.GetByNumber(PilotChannelNumber);
++ const cChannel *channel = Channels->GetByNumber(PilotChannelNumber);
+ if (channel)
+ group = channel->Index()-1;
+ }
+@@ -553,7 +563,8 @@ eOSState cZappilotOsd::ProcessKey(eKeys
+ {
+ if (group < 0)
+ {
+- cChannel *channel = Channels.GetByNumber(PilotChannelNumber);
++ LOCK_CHANNELS_READ;
++ const cChannel *channel = Channels->GetByNumber(PilotChannelNumber);
+ if (channel)
+ group = channel->Index();
+ }
+@@ -562,15 +573,18 @@ eOSState cZappilotOsd::ProcessKey(eKeys
+ int SaveGroup = group;
+ if (NORMALKEY(Key) == kBlue)
+ {
+- group = Channels.GetNextGroup(group);
++ LOCK_CHANNELS_READ;
++ group = Channels->GetNextGroup(group);
+ }
+ else
+ {
+- group = Channels.GetPrevGroup(group < 1 ? 1 : group);
++ LOCK_CHANNELS_READ;
++ group = Channels->GetPrevGroup(group < 1 ? 1 : group);
+ }
+ if (group < 0)
+ group = SaveGroup;
+- cChannel *channel = Channels.Get(group);
++ LOCK_CHANNELS_READ;
++ const cChannel *channel = Channels->Get(group);
+ if (channel)
+ {
+ //DisplayChannel(channel);
+@@ -663,8 +677,8 @@ eOSState cZappilotOsd::ProcessKey(eKeys
+ void cZappilotOsd::CursorUp()
+ {
+ int n = PilotChannelNumber + 1;
+- cChannel *channel;
+- channel = Channels.GetByNumber(n, 1);
++ LOCK_CHANNELS_READ;
++ const cChannel *channel = Channels->GetByNumber(n, 1);
+ if (channel)
+ {
+ n = channel->Number();
+@@ -678,8 +692,8 @@ void cZappilotOsd::CursorUp()
+ void cZappilotOsd::CursorDown()
+ {
+ int n = PilotChannelNumber - 1;
+- cChannel *channel;
+- channel = Channels.GetByNumber(n, -1);
++ LOCK_CHANNELS_READ;
++ const cChannel *channel = Channels->GetByNumber(n, -1);
+ if (channel)
+ {
+ n = channel->Number();
+@@ -693,9 +707,13 @@ void cZappilotOsd::CursorDown()
+ void cZappilotOsd::CursorOK()
+ {
+ DrawMenu(0,2);
+- if (currentChannel != Channels.GetByNumber(PilotChannelNumber))
++ LOCK_CHANNELS_READ;
++ const cChannel* chan = Channels->GetByNumber(PilotChannelNumber);
++
++ if (currentChannel != chan)
+ {
+- cChannel *Channel = Channels.GetByNumber(PilotChannelNumber);
++ LOCK_CHANNELS_READ;
++ const cChannel *Channel = Channels->GetByNumber(PilotChannelNumber);
+ if (Channel)
+ {
+ cDevice::PrimaryDevice()->SwitchChannel(Channel, true);
+@@ -750,7 +768,8 @@ void cZappilotOsd::DisplayInfo(int delta
+ displayTimer = NULL;
+ displayChannel = Skins.Current()->DisplayChannel(true);
+ }
+- cChannel *channel = Channels.GetByNumber(PilotChannelNumber);
++ LOCK_CHANNELS_READ;
++ const cChannel *channel = Channels->GetByNumber(PilotChannelNumber);
+
+ if (!isempty(titlePresentInfo))
+ {
+@@ -778,14 +797,17 @@ void cZappilotOsd::DisplayExtraInfo()
+ displayEvent = NULL;
+ }
+
+- displayEvent = new cMenuEvent(Present,false,true);
++
++ LOCK_TIMERS_READ;
++ LOCK_CHANNELS_READ;
++ displayEvent = new cMenuEvent(Timers, Channels, Present,false,true);
+ displayEvent->Display();
+ }
+
+
+ void cZappilotOsd::DisplayTimer()
+ {
+-
++
+ if (displayChannel)
+ {
+ delete displayChannel;
+@@ -797,13 +819,17 @@ void cZappilotOsd::DisplayTimer()
+ displayEvent = NULL;
+ }
+
++ LOCK_TIMERS_WRITE;
++
+ cTimer *timer = new cTimer(Present);
+- cTimer *t = Timers.GetTimer(timer);
++ cTimer *t = Timers->GetMatch(Present);
++
+ if (t)
+ {
+ delete timer;
+ timer = t;
+ }
++
+ displayTimer=new cMenuEditTimer(timer, !t);
+ displayTimer->Display();
+ }
+diff -rupN b/zappilotosd.h a/zappilotosd.h
+--- b/zappilotosd.h 2015-06-24 14:32:15.000000000 +0200
++++ a/zappilotosd.h 2015-10-22 18:40:02.000000000 +0200
+@@ -39,7 +39,7 @@ class cZappilotOsd : public cOsdObject
+ int offset;
+ int lines;
+ int type;
+- cChannel* currentChannel;
++ const cChannel* currentChannel;
+
+ public:
+ cZappilotOsd(void);