diff --git a/src/covermanager/albumcoverchoicecontroller.cpp b/src/covermanager/albumcoverchoicecontroller.cpp index a6e51ceb2..92ffb09b6 100644 --- a/src/covermanager/albumcoverchoicecontroller.cpp +++ b/src/covermanager/albumcoverchoicecontroller.cpp @@ -251,18 +251,18 @@ QUrl AlbumCoverChoiceController::UnsetCover(Song *song) { void AlbumCoverChoiceController::ShowCover(const Song &song) { - QPixmap pixmap = AlbumCoverLoader::TryLoadPixmap(song.art_automatic(), song.art_manual(), song.url().toLocalFile()); + QPixmap pixmap = AlbumCoverLoader::TryLoadPixmap(song.art_automatic(), song.art_manual(), song.url()); ShowCover(song, pixmap); } void AlbumCoverChoiceController::ShowCover(const Song &song, const QImage &image) { - if (song.art_manual().isLocalFile() || song.art_automatic().isLocalFile()) { - QPixmap pixmap = AlbumCoverLoader::TryLoadPixmap(song.art_automatic(), song.art_manual(), song.url().toLocalFile()); + if (!image.isNull()) ShowCover(song, QPixmap::fromImage(image)); + else if (!song.art_manual().isEmpty() || !song.art_automatic().isEmpty()) { + QPixmap pixmap = AlbumCoverLoader::TryLoadPixmap(song.art_automatic(), song.art_manual(), song.url()); if (!pixmap.isNull()) ShowCover(song, pixmap); } - else if (!image.isNull()) ShowCover(song, QPixmap::fromImage(image)); } diff --git a/src/covermanager/albumcoverloader.cpp b/src/covermanager/albumcoverloader.cpp index 6db2470c3..66ac46ba0 100644 --- a/src/covermanager/albumcoverloader.cpp +++ b/src/covermanager/albumcoverloader.cpp @@ -407,7 +407,7 @@ QImage AlbumCoverLoader::ScaleAndPad(const AlbumCoverLoaderOptions &options, con } -QPixmap AlbumCoverLoader::TryLoadPixmap(const QUrl &art_automatic, const QUrl &art_manual, const QString &filename) { +QPixmap AlbumCoverLoader::TryLoadPixmap(const QUrl &art_automatic, const QUrl &art_manual, const QUrl &url) { QPixmap ret; @@ -421,8 +421,8 @@ QPixmap AlbumCoverLoader::TryLoadPixmap(const QUrl &art_automatic, const QUrl &a } } if (ret.isNull() && !art_automatic.path().isEmpty()) { - if (art_automatic.path() == Song::kEmbeddedCover && !filename.isEmpty() && filename.isLocalFile()) { - ret = QPixmap::fromImage(TagReaderClient::Instance()->LoadEmbeddedArtBlocking(filename)); + if (art_automatic.path() == Song::kEmbeddedCover && !url.isEmpty() && url.isLocalFile()) { + ret = QPixmap::fromImage(TagReaderClient::Instance()->LoadEmbeddedArtBlocking(url.toLocalFile())); } else if (art_automatic.isLocalFile()) { ret.load(art_automatic.toLocalFile()); diff --git a/src/covermanager/albumcoverloader.h b/src/covermanager/albumcoverloader.h index 63386dce8..d3601623a 100644 --- a/src/covermanager/albumcoverloader.h +++ b/src/covermanager/albumcoverloader.h @@ -65,7 +65,7 @@ class AlbumCoverLoader : public QObject { void CancelTask(const quint64 id); void CancelTasks(const QSet &ids); - static QPixmap TryLoadPixmap(const QUrl &automatic, const QUrl &manual, const QString &filename = QString()); + static QPixmap TryLoadPixmap(const QUrl &automatic, const QUrl &manual, const QUrl &url = QUrl()); static QImage ScaleAndPad(const AlbumCoverLoaderOptions &options, const QImage &image); signals: