From 04c1aad0dd851d1363c8c74772fcdc2059a29f61 Mon Sep 17 00:00:00 2001 From: sledgehammer999 Date: Tue, 1 Nov 2016 00:30:34 +0200 Subject: [PATCH] Delete old rss favicon before assigning new one. --- src/base/rss/rssfeed.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/base/rss/rssfeed.cpp b/src/base/rss/rssfeed.cpp index d0c38e6f9..85886fbfc 100644 --- a/src/base/rss/rssfeed.cpp +++ b/src/base/rss/rssfeed.cpp @@ -259,8 +259,13 @@ bool Feed::hasCustomIcon() const void Feed::setIconPath(const QString &path) { - if (!path.isEmpty() && QFile::exists(path)) - m_icon = path; + QString nativePath = Utils::Fs::fromNativePath(path); + if (nativePath == m_icon || nativePath.isEmpty() || !QFile::exists(nativePath)) return; + + if (!m_icon.startsWith(":/") && QFile::exists(m_icon)) + Utils::Fs::forceRemove(m_icon); + + m_icon = nativePath; } ArticlePtr Feed::getItem(const QString &guid) const @@ -322,7 +327,7 @@ QString Feed::iconUrl() const void Feed::handleIconDownloadFinished(const QString &url, const QString &filePath) { Q_UNUSED(url); - m_icon = filePath; + setIconPath(filePath); qDebug() << Q_FUNC_INFO << "icon path:" << m_icon; m_manager->forwardFeedIconChanged(m_url, m_icon); }