aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/qmmpui/fileloader.cpp28
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())
{