Backport fix for crash when invalid favicon is downloaded. Closes #3632.

This commit is contained in:
sledgehammer999 2015-08-26 20:38:01 +03:00
parent 56beb0ddce
commit 8679b70b4c

View file

@ -619,7 +619,8 @@ void TrackerFiltersList::handleFavicoDownload(const QString& url, const QString&
QListWidgetItem *trackerItem = item(rowFromTracker(host)); QListWidgetItem *trackerItem = item(rowFromTracker(host));
QIcon icon(filePath); QIcon icon(filePath);
//Detect a non-decodable icon //Detect a non-decodable icon
bool invalid = icon.pixmap(icon.availableSizes().first()).isNull(); QList<QSize> sizes = icon.availableSizes();
bool invalid = (sizes.size() > 0 ? icon.pixmap(sizes.first()).isNull() : true);
if (invalid) { if (invalid) {
if (url.endsWith(".ico", Qt::CaseInsensitive)) { if (url.endsWith(".ico", Qt::CaseInsensitive)) {
Logger::instance()->addMessage(tr("Couldn't decode favicon for URL `%1`. Trying to download favicon in PNG format.").arg(url), Logger::instance()->addMessage(tr("Couldn't decode favicon for URL `%1`. Trying to download favicon in PNG format.").arg(url),