move mark service as new code to better position
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>
Tue, 9 May 2006 15:00:28 +0000 (15:00 +0000)
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>
Tue, 9 May 2006 15:00:28 +0000 (15:00 +0000)
lib/dvb/db.cpp
lib/dvb/scan.cpp

index c006407..65b3786 100644 (file)
@@ -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;
 }
 
index 605128e..d0949a9 100644 (file)
@@ -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;
+               }
        }
 }