From 07de39ff1760057a7c1d4f67f97a46b2e24d90c6 Mon Sep 17 00:00:00 2001 From: Chocobo1 Date: Tue, 22 Dec 2015 12:38:18 +0800 Subject: [PATCH 1/3] Add check for null. Fix provided by glassez. Closes #4280. --- src/gui/transferlistfilterswidget.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/gui/transferlistfilterswidget.cpp b/src/gui/transferlistfilterswidget.cpp index b695d0565..267537884 100644 --- a/src/gui/transferlistfilterswidget.cpp +++ b/src/gui/transferlistfilterswidget.cpp @@ -626,6 +626,8 @@ 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 sizes = icon.availableSizes(); From deb9a6b37fcb1cced94f50f28bb5e7c1fa35f990 Mon Sep 17 00:00:00 2001 From: Chocobo1 Date: Tue, 22 Dec 2015 12:40:51 +0800 Subject: [PATCH 2/3] Simplify statement --- src/gui/transferlistfilterswidget.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/transferlistfilterswidget.cpp b/src/gui/transferlistfilterswidget.cpp index 267537884..456308188 100644 --- a/src/gui/transferlistfilterswidget.cpp +++ b/src/gui/transferlistfilterswidget.cpp @@ -631,7 +631,7 @@ void TrackerFiltersList::handleFavicoDownload(const QString& url, const QString& QIcon icon(filePath); //Detect a non-decodable icon QList 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), From edbfff62e8c04aa183d3d4a5cb37d3af6c52910d Mon Sep 17 00:00:00 2001 From: Chocobo1 Date: Tue, 22 Dec 2015 12:43:38 +0800 Subject: [PATCH 3/3] Fix typo --- src/gui/transferlistfilterswidget.cpp | 4 ++-- src/gui/transferlistfilterswidget.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gui/transferlistfilterswidget.cpp b/src/gui/transferlistfilterswidget.cpp index 456308188..1453d6311 100644 --- a/src/gui/transferlistfilterswidget.cpp +++ b/src/gui/transferlistfilterswidget.cpp @@ -733,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, diff --git a/src/gui/transferlistfilterswidget.h b/src/gui/transferlistfilterswidget.h index 5f9a42b4a..28336f77a 100644 --- a/src/gui/transferlistfilterswidget.h +++ b/src/gui/transferlistfilterswidget.h @@ -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);