Package: release.debian.org
Severity: normal
Tags: bullseye
User: release.debian....@packages.debian.org
Usertags: pu
X-Debbugs-Cc: akrega...@packages.debian.org, Jeff Sacksteder 
<jsackste...@gmail.com>, he...@debian.org
Control: affects -1 + src:akregator

Hey,

[ Reason ]
[#1027689] - Akregator is not able to delete feeds/folders. It can end
in request data from websites you don't want to.

[ Impact ]
Akregator seems broken for users.

[ Tests ]
Manual test were done to check the patch and tests are still ongoing.

[ Risks ]
The patch it self comes from upstream and is a simply backport (int
replacement with uint). I think the risk of sideeffects is quite small.

[ Checklist ]
  [x] *all* changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in (old)stable
  [x] the issue is verified as fixed in unstable
diff -Nru akregator-20.08.3/debian/changelog akregator-20.08.3/debian/changelog
--- akregator-20.08.3/debian/changelog  2023-01-13 00:49:15.000000000 +0100
+++ akregator-20.08.3/debian/changelog  2020-12-16 01:50:53.000000000 +0100
@@ -1,11 +1,3 @@
-akregator (4:20.08.3-1+deb11u1) bullseye; urgency=medium
-
-  [ Sandro Knauß ]
-  * Add backport patch 2f6d4e233ae8178535d74c1da0cf75a54762d165.diff
-    (Closes: #1027689).
-
- -- Sandro Knauß <he...@debian.org>  Fri, 13 Jan 2023 00:49:15 +0100
-
 akregator (4:20.08.3-1) unstable; urgency=medium
 
   [ Sandro Knauß ]
diff -Nru 
akregator-20.08.3/debian/patches/2f6d4e233ae8178535d74c1da0cf75a54762d165.diff 
akregator-20.08.3/debian/patches/2f6d4e233ae8178535d74c1da0cf75a54762d165.diff
--- 
akregator-20.08.3/debian/patches/2f6d4e233ae8178535d74c1da0cf75a54762d165.diff  
    2023-01-08 23:44:59.000000000 +0100
+++ 
akregator-20.08.3/debian/patches/2f6d4e233ae8178535d74c1da0cf75a54762d165.diff  
    1970-01-01 01:00:00.000000000 +0100
@@ -1,317 +0,0 @@
---- a/src/command/deletesubscriptioncommand.cpp
-+++ b/src/command/deletesubscriptioncommand.cpp
-@@ -124,7 +124,7 @@ public:
-     void jobFinished();
- 
-     QWeakPointer<FeedList> m_list;
--    int m_subscriptionId = -1;
-+    uint m_subscriptionId = 0;
- };
- 
- DeleteSubscriptionCommand::Private::Private(DeleteSubscriptionCommand *qq) : 
q(qq)
-@@ -146,13 +146,13 @@ DeleteSubscriptionCommand::~DeleteSubscr
-     delete d;
- }
- 
--void DeleteSubscriptionCommand::setSubscription(const QWeakPointer<FeedList> 
&feedList, int subId)
-+void DeleteSubscriptionCommand::setSubscription(const QWeakPointer<FeedList> 
&feedList, uint subId)
- {
-     d->m_list = feedList;
-     d->m_subscriptionId = subId;
- }
- 
--int DeleteSubscriptionCommand::subscriptionId() const
-+uint DeleteSubscriptionCommand::subscriptionId() const
- {
-     return d->m_subscriptionId;
- }
---- a/src/command/deletesubscriptioncommand.h
-+++ b/src/command/deletesubscriptioncommand.h
-@@ -39,9 +39,9 @@ public:
-     explicit DeleteSubscriptionCommand(QObject *parent = nullptr);
-     ~DeleteSubscriptionCommand() override;
- 
--    void setSubscription(const QWeakPointer<FeedList> &feedList, int subId);
-+    void setSubscription(const QWeakPointer<FeedList> &feedList, uint subId);
- 
--    int subscriptionId() const;
-+    uint subscriptionId() const;
-     QWeakPointer<FeedList> feedList() const;
- 
- private:
---- a/src/command/editsubscriptioncommand.cpp
-+++ b/src/command/editsubscriptioncommand.cpp
-@@ -83,13 +83,13 @@ public:
-     void jobFinished();
- 
-     QSharedPointer<FeedList> m_list;
--    int m_subscriptionId;
-+    uint m_subscriptionId;
-     SubscriptionListView *m_subscriptionListView = nullptr;
- };
- 
- EditSubscriptionCommand::Private::Private(EditSubscriptionCommand *qq) : q(qq)
-     , m_list()
--    , m_subscriptionId(-1)
-+    , m_subscriptionId(0)
-     , m_subscriptionListView(nullptr)
- {
- }
-@@ -108,13 +108,13 @@ EditSubscriptionCommand::~EditSubscripti
-     delete d;
- }
- 
--void EditSubscriptionCommand::setSubscription(const QSharedPointer<FeedList> 
&feedList, int subId)
-+void EditSubscriptionCommand::setSubscription(const QSharedPointer<FeedList> 
&feedList, uint subId)
- {
-     d->m_list = feedList;
-     d->m_subscriptionId = subId;
- }
- 
--int EditSubscriptionCommand::subscriptionId() const
-+uint EditSubscriptionCommand::subscriptionId() const
- {
-     return d->m_subscriptionId;
- }
---- a/src/command/editsubscriptioncommand.h
-+++ b/src/command/editsubscriptioncommand.h
-@@ -40,8 +40,8 @@ public:
-     explicit EditSubscriptionCommand(QObject *parent = nullptr);
-     ~EditSubscriptionCommand() override;
- 
--    void setSubscription(const QSharedPointer<FeedList> &feedList, int subId);
--    int subscriptionId() const;
-+    void setSubscription(const QSharedPointer<FeedList> &feedList, uint 
subId);
-+    uint subscriptionId() const;
-     QSharedPointer<FeedList> feedList() const;
- 
-     SubscriptionListView *subscriptionListView() const;
---- a/src/command/expireitemscommand.cpp
-+++ b/src/command/expireitemscommand.cpp
-@@ -50,7 +50,7 @@ public:
-     void jobFinished(KJob *);
- 
-     QWeakPointer<FeedList> m_feedList;
--    QVector<int> m_feeds;
-+    QVector<uint> m_feeds;
-     QSet<KJob *> m_jobs;
- };
- 
-@@ -94,7 +94,7 @@ void ExpireItemsCommand::Private::create
-         return;
-     }
- 
--    for (const int i : qAsConst(m_feeds)) {
-+    for (const uint i : qAsConst(m_feeds)) {
-         Feed *const feed = qobject_cast<Feed *>(feedList->findByID(i));
-         if (feed) {
-             addDeleteJobForFeed(feed);
-@@ -122,12 +122,12 @@ QWeakPointer<FeedList> ExpireItemsComman
-     return d->m_feedList;
- }
- 
--void ExpireItemsCommand::setFeeds(const QVector<int> &feeds)
-+void ExpireItemsCommand::setFeeds(const QVector<uint> &feeds)
- {
-     d->m_feeds = feeds;
- }
- 
--QVector<int> ExpireItemsCommand::feeds() const
-+QVector<uint> ExpireItemsCommand::feeds() const
- {
-     return d->m_feeds;
- }
---- a/src/command/expireitemscommand.h
-+++ b/src/command/expireitemscommand.h
-@@ -44,8 +44,8 @@ public:
-     void setFeedList(const QWeakPointer<FeedList> &feedList);
-     QWeakPointer<FeedList> feedList() const;
- 
--    void setFeeds(const QVector<int> &feeds);
--    QVector<int> feeds() const;
-+    void setFeeds(const QVector<uint> &feeds);
-+    QVector<uint> feeds() const;
- 
- private:
-     void doStart() override;
---- a/src/feed/feedlist.cpp
-+++ b/src/feed/feedlist.cpp
-@@ -53,7 +53,7 @@ public:
-     Akregator::Backend::Storage *storage;
-     QList<TreeNode *> flatList;
-     Folder *rootNode;
--    QHash<int, TreeNode *> idMap;
-+    QHash<uint, TreeNode *> idMap;
-     AddNodeVisitor *addNodeVisitor;
-     RemoveNodeVisitor *removeNodeVisitor;
-     QHash<QString, QList<Feed *> > urlMap;
-@@ -182,9 +182,9 @@ FeedList::FeedList(Backend::Storage *sto
-     addNode(rootNode, true);
- }
- 
--QVector<int> FeedList::feedIds() const
-+QVector<uint> FeedList::feedIds() const
- {
--    QVector<int> ids;
-+    QVector<uint> ids;
-     const auto f = feeds();
-     for (const Feed *const i : f) {
-         ids += i->id();
-@@ -387,12 +387,12 @@ QDomDocument FeedList::toOpml() const
-     return doc;
- }
- 
--const TreeNode *FeedList::findByID(int id) const
-+const TreeNode *FeedList::findByID(uint id) const
- {
-     return d->idMap[id];
- }
- 
--TreeNode *FeedList::findByID(int id)
-+TreeNode *FeedList::findByID(uint id)
- {
-     return d->idMap[id];
- }
---- a/src/feed/feedlist.h
-+++ b/src/feed/feedlist.h
-@@ -87,8 +87,8 @@ public:
- 
-     Q_REQUIRED_RESULT bool isEmpty() const;
- 
--    const TreeNode *findByID(int id) const;
--    TreeNode *findByID(int id);
-+    const TreeNode *findByID(uint id) const;
-+    TreeNode *findByID(uint id);
- 
-     Q_REQUIRED_RESULT QList<const TreeNode *> findByTitle(const QString 
&title) const;
-     Q_REQUIRED_RESULT QList<TreeNode *> findByTitle(const QString &title);
-@@ -105,7 +105,7 @@ public:
-     Q_REQUIRED_RESULT QVector<const Feed *> feeds() const;
-     Q_REQUIRED_RESULT QVector<Feed *> feeds();
- 
--    Q_REQUIRED_RESULT QVector<int> feedIds() const;
-+    Q_REQUIRED_RESULT QVector<uint> feedIds() const;
- 
-     /**
-      * returns all folders in this list
---- a/src/subscription/subscriptionlistjobs.cpp
-+++ b/src/subscription/subscriptionlistjobs.cpp
-@@ -37,17 +37,17 @@ using namespace Akregator;
- MoveSubscriptionJob::MoveSubscriptionJob(QObject *parent) : KJob(parent)
-     , m_id(0)
-     , m_destFolderId(0)
--    , m_afterId(-1)
-+    , m_afterId(0)
-     , m_feedList(Kernel::self()->feedList())
- {
- }
- 
--void MoveSubscriptionJob::setSubscriptionId(int id)
-+void MoveSubscriptionJob::setSubscriptionId(uint id)
- {
-     m_id = id;
- }
- 
--void MoveSubscriptionJob::setDestination(int folder, int afterChild)
-+void MoveSubscriptionJob::setDestination(uint folder, uint afterChild)
- {
-     m_destFolderId = folder;
-     m_afterId = afterChild;
-@@ -100,7 +100,7 @@ RenameSubscriptionJob::RenameSubscriptio
- {
- }
- 
--void RenameSubscriptionJob::setSubscriptionId(int id)
-+void RenameSubscriptionJob::setSubscriptionId(uint id)
- {
-     m_id = id;
- }
-@@ -117,7 +117,7 @@ void RenameSubscriptionJob::start()
- 
- void RenameSubscriptionJob::doRename()
- {
--    if (m_id > 0) {
-+    if (m_id != 0) {
-         TreeNode *const node = m_feedList->findByID(m_id);
-         if (node) {
-             node->setTitle(m_name);
-@@ -132,7 +132,7 @@ DeleteSubscriptionJob::DeleteSubscriptio
- {
- }
- 
--void DeleteSubscriptionJob::setSubscriptionId(int id)
-+void DeleteSubscriptionJob::setSubscriptionId(uint id)
- {
-     m_id = id;
- }
---- a/src/subscription/subscriptionlistjobs.h
-+++ b/src/subscription/subscriptionlistjobs.h
-@@ -42,8 +42,8 @@ class AKREGATOR_EXPORT MoveSubscriptionJ
- public:
-     explicit MoveSubscriptionJob(QObject *parent = nullptr);
- 
--    void setSubscriptionId(int id);
--    void setDestination(int folder, int afterChild);
-+    void setSubscriptionId(uint id);
-+    void setDestination(uint folder, uint afterChild);
- 
-     void start() override;
- 
-@@ -51,9 +51,9 @@ private Q_SLOTS:
-     void doMove();
- 
- private:
--    int m_id;
--    int m_destFolderId;
--    int m_afterId;
-+    uint m_id = 0;
-+    uint m_destFolderId = 0;
-+    uint m_afterId = 0;
-     QWeakPointer<FeedList> m_feedList;
- };
- 
-@@ -63,7 +63,7 @@ class AKREGATOR_EXPORT RenameSubscriptio
- public:
-     explicit RenameSubscriptionJob(QObject *parent = nullptr);
- 
--    void setSubscriptionId(int id);
-+    void setSubscriptionId(uint id);
-     void setName(const QString &name);
- 
-     void start() override;
-@@ -72,7 +72,7 @@ private Q_SLOTS:
-     void doRename();
- 
- private:
--    int m_id;
-+    uint m_id;
-     QString m_name;
-     QSharedPointer<FeedList> m_feedList;
- };
-@@ -83,13 +83,13 @@ class AKREGATOR_EXPORT DeleteSubscriptio
- public:
-     explicit DeleteSubscriptionJob(QObject *parent = nullptr);
- 
--    void setSubscriptionId(int id);
-+    void setSubscriptionId(uint id);
- 
-     void start() override;
- 
- private:
-     void doDelete();
--    int m_id;
-+    uint m_id;
-     QWeakPointer<FeedList> m_feedList;
- };
- }
---- a/src/subscription/subscriptionlistmodel.cpp
-+++ b/src/subscription/subscriptionlistmodel.cpp
-@@ -571,7 +571,7 @@ bool SubscriptionListModel::dropMimeData
-         }
-         MoveSubscriptionJob *job = new MoveSubscriptionJob(this);
-         job->setSubscriptionId(node->id());
--        job->setDestination(destFolder->id(), after ? after->id() : -1);
-+        job->setDestination(destFolder->id(), after ? after->id() : 0);
-         job->start();
-     }
- 
diff -Nru akregator-20.08.3/debian/patches/series 
akregator-20.08.3/debian/patches/series
--- akregator-20.08.3/debian/patches/series     2023-01-08 23:44:59.000000000 
+0100
+++ akregator-20.08.3/debian/patches/series     2020-10-13 19:45:35.000000000 
+0200
@@ -1,2 +1 @@
 debianize_akregator_default.diff
-2f6d4e233ae8178535d74c1da0cf75a54762d165.diff

Reply via email to