Merge pull request #4435 from Chocobo1/crash_fix

Crash fix for #4280
This commit is contained in:
sledgehammer999 2015-12-27 07:57:02 -06:00
commit 7a0f04e667
2 changed files with 6 additions and 4 deletions

View file

@ -626,10 +626,12 @@ void TrackerFiltersList::handleFavicoDownload(const QString& url, const QString&
}
QListWidgetItem *trackerItem = item(rowFromTracker(host));
if (!trackerItem) return;
QIcon icon(filePath);
//Detect a non-decodable icon
QList<QSize> sizes = icon.availableSizes();
bool invalid = (sizes.size() > 0 ? icon.pixmap(sizes.first()).isNull() : true);
bool invalid = (sizes.isEmpty() || icon.pixmap(sizes.first()).isNull());
if (invalid) {
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),
@ -731,9 +733,9 @@ int TrackerFiltersList::rowFromTracker(const QString &tracker) const
return -1;
}
QString TrackerFiltersList::getHost(const QString &trakcer) const
QString TrackerFiltersList::getHost(const QString &tracker) const
{
QUrl url(trakcer);
QUrl url(tracker);
QString longHost = url.host();
QString tld = url.topLevelDomain();
// We get empty tld when it is invalid or an IPv4/IPv6 address,

View file

@ -154,7 +154,7 @@ private:
virtual void torrentAboutToBeDeleted(BitTorrent::TorrentHandle *const torrent);
QString trackerFromRow(int row) const;
int rowFromTracker(const QString &tracker) const;
QString getHost(const QString &trakcer) const;
QString getHost(const QString &tracker) const;
QStringList getHashes(int row);
void downloadFavicon(const QString &url);