Cope with empty spotify image responses

This commit is contained in:
Mattias Andersson 2016-07-07 18:55:28 +02:00
parent 1f95a23fd4
commit deb1c638cc
1 changed files with 11 additions and 10 deletions

View File

@ -21,9 +21,7 @@ QString ExtractSpotifyId(const QString& spotify_uri) {
}
} // namespace
SpotifyImages::SpotifyImages()
: network_(new NetworkAccessManager) {
}
SpotifyImages::SpotifyImages() : network_(new NetworkAccessManager) {}
SpotifyImages::~SpotifyImages() {}
@ -82,13 +80,16 @@ void SpotifyImages::FetchImagesForArtist(int id, const QString& spotify_id) {
QUrl url = image["url"].toUrl();
image_candidates.append(qMakePair(url, QSize(width, height)));
}
QPair<QUrl, QSize> winner = *std::max_element(
image_candidates.begin(),
image_candidates.end(),
[](const QPair<QUrl, QSize>& a, const QPair<QUrl, QSize>& b) {
return (a.second.height() * a.second.width()) < (b.second.height() * b.second.width());
});
emit ImageReady(id, winner.first);
if (!image_candidates.isEmpty()) {
QPair<QUrl, QSize> winner =
*std::max_element(
image_candidates.begin(), image_candidates.end(),
[](const QPair<QUrl, QSize>& a, const QPair<QUrl, QSize>& b) {
return (a.second.height() * a.second.width()) <
(b.second.height() * b.second.width());
});
emit ImageReady(id, winner.first);
}
emit Finished(id);
});
}