summaryrefslogtreecommitdiff
path: root/magazine.cpp
diff options
context:
space:
mode:
authorJochen Dolze <vdr@dolze.de>2010-08-01 13:35:30 +0200
committerJochen Dolze <vdr@dolze.de>2010-08-01 13:35:30 +0200
commit12b3d28424b4867e7ccea5efcf569b71a22f068d (patch)
tree758a1eeebb837333b4a57cd6abd10f164f537f98 /magazine.cpp
parent415f957ea35045b32b96831def310465b35035e1 (diff)
downloadvdr-plugin-tvonscreen-12b3d28424b4867e7ccea5efcf569b71a22f068d.tar.gz
vdr-plugin-tvonscreen-12b3d28424b4867e7ccea5efcf569b71a22f068d.tar.bz2
Fixed segfault when using empty channellist
Diffstat (limited to 'magazine.cpp')
-rw-r--r--magazine.cpp21
1 files changed, 12 insertions, 9 deletions
diff --git a/magazine.cpp b/magazine.cpp
index 8dcf801..6fe82b3 100644
--- a/magazine.cpp
+++ b/magazine.cpp
@@ -93,19 +93,22 @@ magazine::magazine(class cPlugin *p)
qsort(schedArray, num, sizeof(cSchedule*), CompareSchedules);
currentFirst=0;
- int currentChannel = Channels.GetByNumber(cDevice::CurrentChannel())->Number();
- for(int i=0;i<schedArrayNum;i++)
+ cChannel *cchannel=Channels.GetByNumber(cDevice::CurrentChannel());
+ if (cchannel)
{
- cChannel *channel = Channels.GetByChannelID(schedArray[i]->ChannelID(), true);
- if (channel->Number()==currentChannel)
+ int currentChannel = cchannel->Number();
+ for(int i=0;i<schedArrayNum;i++)
{
- currentFirst=i-1;
- if (currentFirst<0)
- currentFirst=0;
- break;
+ cChannel *channel = Channels.GetByChannelID(schedArray[i]->ChannelID(), true);
+ if (channel->Number()==currentChannel)
+ {
+ currentFirst=i-1;
+ if (currentFirst<0)
+ currentFirst=0;
+ break;
+ }
}
}
-
ev1=NULL;
ev2=NULL;
ev3=NULL;