diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/dvb/db.cpp | 5 | ||||
| -rw-r--r-- | lib/dvb/scan.cpp | 6 |
2 files changed, 6 insertions, 5 deletions
diff --git a/lib/dvb/db.cpp b/lib/dvb/db.cpp index c0064071..65b37862 100644 --- a/lib/dvb/db.cpp +++ b/lib/dvb/db.cpp @@ -855,12 +855,7 @@ RESULT eDVBDB::addService(const eServiceReferenceDVB &serviceref, eDVBService *s { std::map<eServiceReferenceDVB, ePtr<eDVBService> >::iterator it(m_services.find(serviceref)); if (it == m_services.end()) - { - service->m_flags |= eDVBService::dxNewFound; m_services.insert(std::pair<eServiceReferenceDVB, ePtr<eDVBService> >(serviceref, service)); - } - else - it->second->m_flags &= ~eDVBService::dxNewFound; return 0; } diff --git a/lib/dvb/scan.cpp b/lib/dvb/scan.cpp index 605128e7..d0949a97 100644 --- a/lib/dvb/scan.cpp +++ b/lib/dvb/scan.cpp @@ -512,9 +512,15 @@ void eDVBScan::insertInto(iDVBChannelList *db) { ePtr<eDVBService> dvb_service; if (!db->getService(service->first, dvb_service)) + { *dvb_service = *service->second; + dvb_service->m_flags &= ~eDVBService::dxNewFound; + } else + { db->addService(service->first, service->second); + service->second->m_flags |= eDVBService::dxNewFound; + } } } |
