X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/da602f6b95d2205abf434f53f68e58494972aa7a..60fb5b95387fb30902240b92deed145720fa867a:/lib/dvb/scan.cpp diff --git a/lib/dvb/scan.cpp b/lib/dvb/scan.cpp index 8865f304..e1bd0012 100644 --- a/lib/dvb/scan.cpp +++ b/lib/dvb/scan.cpp @@ -375,7 +375,22 @@ void eDVBScan::start(const eSmartPtrList &known_transpon m_ch_unavailable.clear(); m_new_channels.clear(); m_new_services.clear(); - m_ch_toScan.insert(m_ch_toScan.end(), known_transponders.begin(), known_transponders.end()); + + for (eSmartPtrList::const_iterator i(known_transponders.begin()); i != known_transponders.end(); ++i) + { + bool exist=false; + for (std::list >::const_iterator ii(m_ch_toScan.begin()); ii != m_ch_toScan.end(); ++ii) + { + if (sameChannel(*i, *ii)) + { + exist=true; + break; + } + } + if (!exist) + m_ch_toScan.push_back(*i); + } + nextChannel(); }