hopefully fix frequently segfault
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>
Mon, 15 Aug 2005 23:42:32 +0000 (23:42 +0000)
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>
Mon, 15 Aug 2005 23:42:32 +0000 (23:42 +0000)
lib/dvb/epgcache.cpp

index 7a1f78d..28cd855 100644 (file)
@@ -873,6 +873,9 @@ void eEPGCache::channel_data::readData( const __u8 *data)
                                source=eEPGCache::SCHEDULE_OTHER;
                                map=2;
                                break;
+                       default:
+                               eDebug("[EPGC] unknown table_id !!!");
+                               return;
                }
                tidMap &seenSections = this->seenSections[map];
                tidMap &calcedSections = this->calcedSections[map];
@@ -887,7 +890,8 @@ void eEPGCache::channel_data::readData( const __u8 *data)
                                default: eDebugNoNewLine("unknown");break;
                        }
                        eDebug(" finished(%d)", time(0)+eDVBLocalTimeHandler::getInstance()->difference());
-                       reader->stop();
+                       if ( reader )
+                               reader->stop();
                        isRunning &= ~source;
                        if (!isRunning)
                                finishEPG();