X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/4d4d24f46602d76b5cfa5459ec129b93d8fe37b0..9bdb2bf12943594e9bcd309ed9c60e44af23dbf0:/lib/dvb/epgcache.cpp diff --git a/lib/dvb/epgcache.cpp b/lib/dvb/epgcache.cpp index eb031be3..79012d38 100644 --- a/lib/dvb/epgcache.cpp +++ b/lib/dvb/epgcache.cpp @@ -177,12 +177,11 @@ eEPGCache::eEPGCache() void eEPGCache::timeUpdated() { - if ( !thread_running() ) + if (!sync()) { eDebug("[EPGC] time updated.. start EPG Mainloop"); run(); - } - else + } else messages.send(Message(Message::timeChanged)); } @@ -692,6 +691,7 @@ void eEPGCache::gotMessage( const Message &msg ) void eEPGCache::thread() { + hasStarted(); nice(4); load(); cleanLoop(); @@ -1946,16 +1946,16 @@ PyObject *eEPGCache::search(PyObject *arg) } PyObject *service_name=0; PyObject *service_reference=0; - eventMap &evmap = cit->second.first; + timeMap &evmap = cit->second.second; // check all events - for (eventMap::iterator evit(evmap.begin()); evit != evmap.end() && maxcount; ++evit) + for (timeMap::iterator evit(evmap.begin()); evit != evmap.end() && maxcount; ++evit) { + if (evit->second->getEventID() == eventid) + continue; __u8 *data = evit->second->EITdata; int tmp = evit->second->ByteSize-12; __u32 *p = (__u32*)(data+12); // check if any of our descriptor used by this event - if (evit->first == eventid ) - continue; int cnt=-1; while(tmp>0) {