aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/dvb/db.cpp5
-rw-r--r--lib/dvb/scan.cpp6
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;
+ }
}
}