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)); QListWidgetItem *trackerItem = item(rowFromTracker(host));
if (!trackerItem) return;
QIcon icon(filePath); QIcon icon(filePath);
//Detect a non-decodable icon //Detect a non-decodable icon
QList<QSize> sizes = icon.availableSizes(); 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 (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),
@ -731,9 +733,9 @@ int TrackerFiltersList::rowFromTracker(const QString &tracker) const
return -1; 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 longHost = url.host();
QString tld = url.topLevelDomain(); QString tld = url.topLevelDomain();
// We get empty tld when it is invalid or an IPv4/IPv6 address, // 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); virtual void torrentAboutToBeDeleted(BitTorrent::TorrentHandle *const torrent);
QString trackerFromRow(int row) const; QString trackerFromRow(int row) const;
int rowFromTracker(const QString &tracker) const; int rowFromTracker(const QString &tracker) const;
QString getHost(const QString &trakcer) const; QString getHost(const QString &tracker) const;
QStringList getHashes(int row); QStringList getHashes(int row);
void downloadFavicon(const QString &url); void downloadFavicon(const QString &url);