diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/qmmpui/fileloader.cpp | 28 |
1 files changed, 12 insertions, 16 deletions
diff --git a/src/qmmpui/fileloader.cpp b/src/qmmpui/fileloader.cpp index 761569bf9..55d3ee3c5 100644 --- a/src/qmmpui/fileloader.cpp +++ b/src/qmmpui/fileloader.cpp @@ -136,28 +136,24 @@ void FileLoader::insertPlayList(const QString &path, PlayListItem *before) QList<PlayListTrack *>::iterator it = tracks.begin(); while(it != tracks.end()) { - if((*it)->path().contains("://") && - !protocols.contains((*it)->path().section("://", 0, 0)) && - !MetaDataManager::hasMatch(regExps, (*it)->path())) + if((*it)->path().contains("://")) { - - delete (*it); - it = tracks.erase(it); - } - else if(!QFile::exists((*it)->path())) - { - delete (*it); - it = tracks.erase(it); + if(!protocols.contains((*it)->path().section("://", 0, 0)) && + !MetaDataManager::hasMatch(regExps, (*it)->path())) + { + delete (*it); + it = tracks.erase(it); + continue; + } } - else if(!MetaDataManager::hasMatch(filters, (*it)->path())) + else if(!QFile::exists((*it)->path()) || !MetaDataManager::hasMatch(filters, (*it)->path())) { delete (*it); it = tracks.erase(it); + continue; } - else - { - ++it; - } + + ++it; } if(!m_finished && !tracks.isEmpty()) { |
