- Add upstream patch pass-source-collection-to-move-mails.diff

* Fix mails not being removed from list when deleted (kde#380182)

OBS-URL: https://build.opensuse.org/package/show/KDE:Applications/akonadi-server?expand=0&rev=111
This commit is contained in:
Luca Beltrame 2017-06-11 20:31:20 +00:00 committed by Git OBS Bridge
parent 1b86ec7e8c
commit f266fbe420
3 changed files with 77 additions and 0 deletions

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Sun Jun 11 20:30:22 UTC 2017 - lbeltrame@kde.org
- Add upstream patch pass-source-collection-to-move-mails.diff
* Fix mails not being removed from list when deleted (kde#380182)
-------------------------------------------------------------------
Wed Jun 07 17:42:39 CEST 2017 - lbeltrame@kde.org

View File

@ -31,6 +31,8 @@ Group: System/GUI/KDE
Url: http://akonadi-project.org
Source: %{rname}-%{version}.tar.xz
Source99: akonadi-server-rpmlintrc
# PATCH-FIX-UPSTREAM
Patch0: pass-source-collection-to-move-mails.diff
%if 0%{?suse_version} > 1325
BuildRequires: libboost_headers-devel
%else
@ -170,6 +172,7 @@ service.
%prep
%setup -q -n %{rname}-%{version}
%patch0 -p1
%build
%cmake_kf5 -d build -- -DINSTALL_QSQLITE_IN_QT_PREFIX=TRUE -DQT_PLUGINS_DIR=%{_kf5_plugindir}

View File

@ -0,0 +1,68 @@
From 2dc7fbf569ba3f7eeef98fb818d7af0820caf7a3 Mon Sep 17 00:00:00 2001
From: Martin Koller <kollix@aon.at>
Date: Sat, 6 May 2017 11:30:06 +0200
Subject: Explicitely pass source collection to ensure moving mails work
... since the passed item.parentCollection() is already the target
collection
Differential Revision: https://phabricator.kde.org/D5711
(cherry picked from commit 33d86e165c5fe150583f9ac3ab58626ffcfe4f97)
---
src/core/models/entitytreemodel_p.cpp | 9 +++++----
src/core/models/entitytreemodel_p.h | 2 +-
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/src/core/models/entitytreemodel_p.cpp b/src/core/models/entitytreemodel_p.cpp
index 7c75746..79f0c04 100644
--- a/src/core/models/entitytreemodel_p.cpp
+++ b/src/core/models/entitytreemodel_p.cpp
@@ -1104,7 +1104,7 @@ void EntityTreeModelPrivate::monitoredItemAdded(const Akonadi::Item &item, const
q->endInsertRows();
}
-void EntityTreeModelPrivate::monitoredItemRemoved(const Akonadi::Item &item)
+void EntityTreeModelPrivate::monitoredItemRemoved(const Akonadi::Item &item, const Akonadi::Collection &parentCollection)
{
Q_Q(EntityTreeModel);
@@ -1112,7 +1112,8 @@ void EntityTreeModelPrivate::monitoredItemRemoved(const Akonadi::Item &item)
return;
}
- if ((m_itemPopulation == EntityTreeModel::LazyPopulation) && !m_populatedCols.contains(item.parentCollection().id())) {
+ if ((m_itemPopulation == EntityTreeModel::LazyPopulation) &&
+ !m_populatedCols.contains(parentCollection.isValid() ? parentCollection.id() : item.parentCollection().id())) {
return;
}
@@ -1197,10 +1198,10 @@ void EntityTreeModelPrivate::monitoredItemMoved(const Akonadi::Item &item,
monitoredItemAdded(item, destCollection);
return;
} else if (isHidden(destCollection)) {
- monitoredItemRemoved(item);
+ monitoredItemRemoved(item, sourceCollection);
return;
} else {
- monitoredItemRemoved(item);
+ monitoredItemRemoved(item, sourceCollection);
monitoredItemAdded(item, destCollection);
return;
}
diff --git a/src/core/models/entitytreemodel_p.h b/src/core/models/entitytreemodel_p.h
index 9c5e5ac..1d90abb 100644
--- a/src/core/models/entitytreemodel_p.h
+++ b/src/core/models/entitytreemodel_p.h
@@ -93,7 +93,7 @@ public:
const Akonadi::Collection &destCollection);
void monitoredItemAdded(const Akonadi::Item &item, const Akonadi::Collection &collection);
- void monitoredItemRemoved(const Akonadi::Item &item);
+ void monitoredItemRemoved(const Akonadi::Item &item, const Akonadi::Collection &collection = Akonadi::Collection());
void monitoredItemChanged(const Akonadi::Item &item, const QSet<QByteArray> &);
void monitoredItemMoved(const Akonadi::Item &item, const Akonadi::Collection &, const Akonadi::Collection &);
--
cgit v0.11.2