diff options
Diffstat (limited to 'src/plugins/Input/archive/decoderarchivefactory.cpp')
| -rw-r--r-- | src/plugins/Input/archive/decoderarchivefactory.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/plugins/Input/archive/decoderarchivefactory.cpp b/src/plugins/Input/archive/decoderarchivefactory.cpp index 3b83616c2..119e30d83 100644 --- a/src/plugins/Input/archive/decoderarchivefactory.cpp +++ b/src/plugins/Input/archive/decoderarchivefactory.cpp @@ -112,6 +112,14 @@ QList<TrackInfo *> DecoderArchiveFactory::createPlayList(const QString &path, Tr ArchiveInputDevice dev(a, entry, nullptr); ArchiveTagReader reader(&dev, list.last()->path()); + if(!dev.isOpen()) + { + qDeleteAll(list); + list.clear(); + archive_read_free(a); + return list; + } + if(parts & TrackInfo::MetaData) list.last()->setValues(reader.metaData()); |
