diff --git a/src/feed/feed.h b/src/feed/feed.h --- a/src/feed/feed.h +++ b/src/feed/feed.h @@ -264,8 +264,9 @@ */ void setArticleDeleted(Article &a); - /** notifies that article @c mya was changed - @param oldStatus if the status was changed, it contains the old status, -1 otherwise + /** Notifies that article @p a was changed + @param oldStatus The old status if the status was changed, + or -1 if the status was not changed To be called by @ref Article */ void setArticleChanged(Article &a, int oldStatus = -1); diff --git a/src/feed/feed.cpp b/src/feed/feed.cpp --- a/src/feed/feed.cpp +++ b/src/feed/feed.cpp @@ -830,8 +830,8 @@ void Akregator::Feed::setArticleChanged(Article &a, int oldStatus) { + int newStatus = a.status(); if (oldStatus != -1) { - int newStatus = a.status(); if (oldStatus == Read && newStatus != Read) { setUnread(unread() + 1); } else if (oldStatus != Read && newStatus == Read) { @@ -839,7 +839,9 @@ } } d->updatedArticlesNotify.append(a); - articlesModified(); + if (newStatus != Read) { + articlesModified(); + } } int Akregator::Feed::totalCount() const