Summary: | akregator article list malfunction (? on duplicated articles) | ||
---|---|---|---|
Product: | [Applications] akregator | Reporter: | Frank Lin <fpylin> |
Component: | general | Assignee: | kdepim bugs <kdepim-bugs> |
Status: | RESOLVED WORKSFORME | ||
Severity: | major | CC: | christophe, dominik.tritscher, luke.hallam, sitter |
Priority: | HI | Keywords: | investigated, triaged |
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Slackware | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | Example of the bug (screenshot series in .tar.gz format) |
Description
Frank Lin
2005-10-24 14:30:47 UTC
Created attachment 13924 [details]
Example of the bug (screenshot series in .tar.gz format)
A picture is better than 1000+ words. Here I post a series of screenshots
describing this bug.
I confirm 2a). Sometimes, the prev/next actions get stuck. I've seen 3 and 4, too. But this is only "visual", i.e. if you switch to another feed and back, all should be fine again, right? It's not about dupe detection, it has to do with the list items (which are created per article). Thus, when switching to another feed and back, the items are cleared and recreated properly. > I've seen 3 and 4, too. But this is only "visual", i.e. if you switch to another feed and back, all should be fine again, right? That is correct. > It's not about dupe detection, it has to do with the list items (which are created per article). Thanks -- sounds very logical. The reason I suspected "dupe detection" originally was that it only happens with new (red) and unread (blue) items. The read items (black) items does not seem to be affected. > Thus, when switching to another feed and back, the items are cleared and recreated properly. Yes. That is also correct. *** Bug 119669 has been marked as a duplicate of this bug. *** SVN commit 495480 by osterfeld: Fix comparison operators of Article, such as < and <=. This fixes problems with QMap and articles having identical pubdate (operator< just compared pubdates, and QMap consideres articles as equal when items are not comparable). Fixes 114997 navigation problems and prevents creation of a new item when selecting an unread dupe article. (a new item was created as map lookup failed). BUG: 114997 M +6 -4 article.cpp --- branches/KDE/3.5/kdepim/akregator/src/article.cpp #495479:495480 @@ -241,22 +241,24 @@ bool Article::operator<(const Article &other) const { - return pubDate() > other.pubDate(); + return pubDate() > other.pubDate() || + (pubDate() == other.pubDate() && guid() < other.guid() ); } bool Article::operator<=(const Article &other) const { - return pubDate() >= other.pubDate(); + return (pubDate() > other.pubDate() || *this == other); } bool Article::operator>(const Article &other) const { - return pubDate() < other.pubDate(); + return pubDate() < other.pubDate() || + (pubDate() == other.pubDate() && guid() > other.guid() ); } bool Article::operator>=(const Article &other) const { - return pubDate() <= other.pubDate(); + return (pubDate() > other.pubDate() || *this == other); } bool Article::operator==(const Article &other) const SVN commit 495485 by osterfeld: forward port: fix semantics of comparison operators <, <=, >, >=. Bug 114997 as seen in 3.5 should be fixed in trunk anyway, as we use QHash there (using operator==) instead of QMap (using operator<), however, the operators should work correctly nevertheless. CCBUG: 114997 M +6 -4 article.cpp --- trunk/KDE/kdepim/akregator/src/article.cpp #495484:495485 @@ -241,22 +241,24 @@ bool Article::operator<(const Article &other) const { - return pubDate() > other.pubDate(); + return pubDate() > other.pubDate() || + (pubDate() == other.pubDate() && guid() < other.guid() ); } bool Article::operator<=(const Article &other) const { - return pubDate() >= other.pubDate(); + return (pubDate() > other.pubDate() || *this == other); } bool Article::operator>(const Article &other) const { - return pubDate() < other.pubDate(); + return pubDate() < other.pubDate() || + (pubDate() == other.pubDate() && guid() > other.guid() ); } bool Article::operator>=(const Article &other) const { - return pubDate() <= other.pubDate(); + return (pubDate() > other.pubDate() || *this == other); } bool Article::operator==(const Article &other) const Excuse, but when exactly has this bug been resolved? If it's fixed for more that 2 years now, then why in my latest akregator 1.2.8 (KDE 3.5.8, Debian testing), the bug is still there? Try subscribing a feed from Slashdot and e.g. Slashdot Linux. Whenever they double (which happens more often than not), the problem occurs. Same with my brother's akregator (same version, under Kubuntu 7.10). I have to second Marcin on this, this has not been fixed and is actually known about on IRC in #kontact. This issue happens to me on: 3x Kubuntu Hardy boxes (2 just fresh install today) 1x Debian Experimental 1x OpenSUSE 1x Fedora 8 & 9 1x Slackware I haven't tested my KDE SVN checkout yet because I can't get kdepim to build correctly on my amd64 box right now. Reopen as per comment #8 Is this issue still valid for KDE 4.1? I just checked with Akregator 1.3.3 (KDE 4.1.3) and couldn't reproduce the described behaviour. Due to lack of feedback, we will now change this bug status. Dear Bug Submitter, This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging If you have already provided the requested information, please mark the bug as REPORTED so that the KDE team knows that the bug is ready to be confirmed. Thank you for helping us make KDE software even better for everyone! This bug has been in NEEDSINFO status with no change for at least 30 days. The bug is now closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging Thank you for helping us make KDE software even better for everyone! |