dont mark found services with newFlags when "remove existing services" was
[enigma2.git] / lib / dvb / scan.cpp
index d53281636e49941fb9b9d998afbf972ea939605f..e2bf6215884268a339c73e593d00cb31998f9087 100644 (file)
@@ -84,7 +84,7 @@ RESULT eDVBScan::nextChannel()
 {
        ePtr<iDVBFrontend> fe;
 
-       m_SDT = 0; m_BAT = 0; m_NIT = 0;
+       m_SDT = 0; m_PAT = 0; m_BAT = 0; m_NIT = 0;
 
        m_ready = 0;
 
@@ -680,7 +680,8 @@ void eDVBScan::insertInto(iDVBChannelList *db, bool dontRemoveOldFlags)
                else
                {
                        db->addService(service->first, service->second);
-                       service->second->m_flags |= eDVBService::dxNewFound;
+                       if (!(m_flags & scanRemoveServices))
+                               service->second->m_flags |= eDVBService::dxNewFound;
                }
        }
 }