diff options
Diffstat (limited to 'epggrid.c')
-rw-r--r-- | epggrid.c | 30 |
1 files changed, 21 insertions, 9 deletions
@@ -57,11 +57,14 @@ void cEpgGrid::Init(const cChannel *startChannel) { int numBack = channelsPerPage / 2; int offset = 0; const cChannel *newStartChannel = startChannel; + const cChannels* channels; #if defined (APIVERSNUM) && (APIVERSNUM >= 20301) + { LOCK_CHANNELS_READ; - const cChannels* channels = Channels; + channels = Channels; + } #else - const cChannels* channels = &Channels; + channels = &Channels; #endif for (; newStartChannel ; newStartChannel = channels->Prev(newStartChannel)) { @@ -87,11 +90,14 @@ void cEpgGrid::CreateChannels(const cChannel *startChannel, int activeChannel) { if (!startChannel) return; + const cChannels* chls; #if defined (APIVERSNUM) && (APIVERSNUM >= 20301) - LOCK_CHANNELS_READ; - const cChannels* chls = Channels; + { + LOCK_CHANNELS_READ; + chls = Channels; + } #else - cChannels* chls = &Channels; + chls = &Channels; #endif for (const cChannel *channel = startChannel; channel; channel = chls->Next(channel)) { @@ -269,11 +275,14 @@ bool cEpgGrid::ChannelForward(void) { //insert new channels at end int numInserted = 0; + const cChannels* chls; #if defined (APIVERSNUM) && (APIVERSNUM >= 20301) + { LOCK_CHANNELS_READ; - const cChannels* chls = Channels; + chls = Channels; + } #else - const cChannels* chls = &Channels; + chls = &Channels; #endif for (const cChannel *channel = (const cChannel*)currentChannel->Next(); channel ; channel = chls->Next(channel)) { @@ -335,11 +344,14 @@ bool cEpgGrid::ChannelBack(void) { return false; //insert new channels at start int numInserted = 0; + const cChannels* chls; #if defined (APIVERSNUM) && (APIVERSNUM >= 20301) + { LOCK_CHANNELS_READ; - const cChannels* chls = Channels; + chls = Channels; + } #else - const cChannels* chls = &Channels; + chls = &Channels; #endif for (const cChannel *channel = (const cChannel*)currentChannel->Prev(); channel ; channel = chls->Prev(channel)) { if (channel->GroupSep()) { |