diff options
| author | Jochen Dolze <vdr@dolze.de> | 2010-08-01 13:35:30 +0200 |
|---|---|---|
| committer | Jochen Dolze <vdr@dolze.de> | 2010-08-01 13:35:30 +0200 |
| commit | 12b3d28424b4867e7ccea5efcf569b71a22f068d (patch) | |
| tree | 758a1eeebb837333b4a57cd6abd10f164f537f98 /magazine.cpp | |
| parent | 415f957ea35045b32b96831def310465b35035e1 (diff) | |
| download | vdr-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.cpp | 21 |
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; |
