summaryrefslogtreecommitdiff
path: root/nonprism/kdepim-runtime/kdepim-runtime-bug338658.patch
diff options
context:
space:
mode:
Diffstat (limited to 'nonprism/kdepim-runtime/kdepim-runtime-bug338658.patch')
-rw-r--r--nonprism/kdepim-runtime/kdepim-runtime-bug338658.patch181
1 files changed, 0 insertions, 181 deletions
diff --git a/nonprism/kdepim-runtime/kdepim-runtime-bug338658.patch b/nonprism/kdepim-runtime/kdepim-runtime-bug338658.patch
deleted file mode 100644
index c87880fc3..000000000
--- a/nonprism/kdepim-runtime/kdepim-runtime-bug338658.patch
+++ /dev/null
@@ -1,181 +0,0 @@
-From 038c604aba0cac22275e03c3497672cd254c2568 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Dan=20Vr=C3=A1til?= <dvratil@redhat.com>
-Date: Mon, 7 Sep 2015 16:20:39 +0200
-Subject: [PATCH] IMAP: switch to GID-based merge when the Collection can
- contain something else than emails
-
-In order to fix the recurrent multiple-merge-candidates issue which was breaking
-ItemSync, ItemSync switched to RID-based merging, which is way more reliable.
-However in some cases the IMAP resource still wants to use GID-based merging,
-because RID might not be stable enough.
-
-(cherry picked from commit 93a2baac05a325b688aea2cc12d9714d6b186f69)
----
- CMakeLists.txt | 2 +-
- resources/imap/autotests/dummyresourcestate.cpp | 8 +++++++-
- resources/imap/autotests/dummyresourcestate.h | 3 +++
- resources/imap/resourcestate.cpp | 5 +++++
- resources/imap/resourcestate.h | 2 ++
- resources/imap/resourcestateinterface.h | 3 +++
- resources/imap/resourcetask.cpp | 5 +++++
- resources/imap/resourcetask.h | 1 +
- resources/imap/retrieveitemstask.cpp | 10 ++++++++++
- 9 files changed, 37 insertions(+), 2 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 0511f78..17a39b0 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -54,7 +54,7 @@ include(ECMInstallIcons)
- set(KF5_VERSION "5.12.0")
- set(QT_REQUIRED_VERSION "5.4.0")
-
--set(KDEPIMLIBS_LIB_VERSION "4.88.0")
-+set(KDEPIMLIBS_LIB_VERSION "4.89.0")
-
- set(KDEPIMRUNTIME_LIB_VERSION "${KDEPIM_RUNTIME_VERSION_NUMBER}")
- set(KDEPIMRUNTIME_LIB_SOVERSION "5")
-diff --git a/resources/imap/autotests/dummyresourcestate.cpp b/resources/imap/autotests/dummyresourcestate.cpp
-index 8b28f0b..9497f8e 100644
---- a/resources/imap/autotests/dummyresourcestate.cpp
-+++ b/resources/imap/autotests/dummyresourcestate.cpp
-@@ -27,7 +27,8 @@ Q_DECLARE_METATYPE(TagListAndMembers);
-
- DummyResourceState::DummyResourceState()
- : m_automaticExpunge(true), m_subscriptionEnabled(true),
-- m_disconnectedMode(true), m_intervalCheckTime(-1)
-+ m_disconnectedMode(true), m_intervalCheckTime(-1),
-+ m_mergeMode(Akonadi::ItemSync::RIDMerge)
- {
- qRegisterMetaType<QList<qint64> >();
- qRegisterMetaType<QVector<qint64> >();
-@@ -428,6 +429,11 @@ int DummyResourceState::batchSize() const
- return 10;
- }
-
-+void DummyResourceState::setItemMergingMode(Akonadi::ItemSync::MergeMode mergeMode)
-+{
-+ m_mergeMode = mergeMode;
-+}
-+
- MessageHelper::Ptr DummyResourceState::messageHelper() const
- {
- return MessageHelper::Ptr(new MessageHelper());
-diff --git a/resources/imap/autotests/dummyresourcestate.h b/resources/imap/autotests/dummyresourcestate.h
-index 39cb055..339501f 100644
---- a/resources/imap/autotests/dummyresourcestate.h
-+++ b/resources/imap/autotests/dummyresourcestate.h
-@@ -143,6 +143,7 @@ public:
- virtual void showInformationDialog(const QString &message, const QString &title, const QString &dontShowAgainName);
-
- virtual int batchSize() const;
-+ virtual void setItemMergingMode(Akonadi::ItemSync::MergeMode mergeMode);
-
- virtual MessageHelper::Ptr messageHelper() const;
-
-@@ -163,6 +164,8 @@ private:
- int m_intervalCheckTime;
- QChar m_separator;
-
-+ Akonadi::ItemSync::MergeMode m_mergeMode;
-+
- Akonadi::Collection m_collection;
- Akonadi::Item::List m_items;
-
-diff --git a/resources/imap/resourcestate.cpp b/resources/imap/resourcestate.cpp
-index 9bf802a..690e562 100644
---- a/resources/imap/resourcestate.cpp
-+++ b/resources/imap/resourcestate.cpp
-@@ -362,3 +362,8 @@ void ResourceState::relationsRetrieved(const Akonadi::Relation::List &relations)
- {
- m_resource->relationsRetrieved(relations);
- }
-+
-+void ResourceState::setItemMergingMode(Akonadi::ItemSync::MergeMode mode)
-+{
-+ m_resource->setItemMergingMode(mode);
-+}
-\ No newline at end of file
-diff --git a/resources/imap/resourcestate.h b/resources/imap/resourcestate.h
-index 6471419..79ece01 100644
---- a/resources/imap/resourcestate.h
-+++ b/resources/imap/resourcestate.h
-@@ -153,6 +153,8 @@ public:
-
- MessageHelper::Ptr messageHelper() const Q_DECL_OVERRIDE;
-
-+ void setItemMergingMode(Akonadi::ItemSync::MergeMode mergeMode);
-+
- private:
- ImapResourceBase *m_resource;
- const TaskArguments m_arguments;
-diff --git a/resources/imap/resourcestateinterface.h b/resources/imap/resourcestateinterface.h
-index eb34a25..35647be 100644
---- a/resources/imap/resourcestateinterface.h
-+++ b/resources/imap/resourcestateinterface.h
-@@ -26,6 +26,7 @@
-
- #include <Collection>
- #include <Item>
-+#include <ItemSync>
-
- #include <kimap/listjob.h>
-
-@@ -125,6 +126,8 @@ public:
-
- virtual Akonadi::Relation::List addedRelations() const = 0;
- virtual Akonadi::Relation::List removedRelations() const = 0;
-+
-+ virtual void setItemMergingMode(Akonadi::ItemSync::MergeMode mergeMode) = 0;
- };
-
- #endif
-diff --git a/resources/imap/resourcetask.cpp b/resources/imap/resourcetask.cpp
-index 59532cd..e9c640c 100644
---- a/resources/imap/resourcetask.cpp
-+++ b/resources/imap/resourcetask.cpp
-@@ -591,3 +591,8 @@ KIMAP::Acl::Rights ResourceTask::myRights(const Akonadi::Collection &col)
- }
- return KIMAP::Acl::None;
- }
-+
-+void ResourceTask::setItemMergingMode(Akonadi::ItemSync::MergeMode mode)
-+{
-+ m_resource->setItemMergingMode(mode);
-+}
-diff --git a/resources/imap/resourcetask.h b/resources/imap/resourcetask.h
-index 74aa518..d034c9d 100644
---- a/resources/imap/resourcetask.h
-+++ b/resources/imap/resourcetask.h
-@@ -140,6 +140,7 @@ protected:
- virtual bool serverSupportsCondstore() const;
-
- int batchSize() const;
-+ void setItemMergingMode(Akonadi::ItemSync::MergeMode mode);
-
- ResourceStateInterface::Ptr resourceState();
-
-diff --git a/resources/imap/retrieveitemstask.cpp b/resources/imap/retrieveitemstask.cpp
-index a60c6ba..91b287c 100644
---- a/resources/imap/retrieveitemstask.cpp
-+++ b/resources/imap/retrieveitemstask.cpp
-@@ -89,6 +89,16 @@ void RetrieveItemsTask::doStart(KIMAP::Session *session)
- m_session = session;
-
- const Akonadi::Collection col = collection();
-+ // Only with emails we can be sure that RID is persistent and thus we can use
-+ // it for merging. For other potential content types (like Kolab events etc.)
-+ // use GID instead.
-+ QStringList cts = col.contentMimeTypes();
-+ cts.removeOne(Akonadi::Collection::mimeType());
-+ cts.removeOne(KMime::Message::mimeType());
-+ if (!cts.isEmpty()) {
-+ setItemMergingMode(Akonadi::ItemSync::GIDMerge);
-+ }
-+
- if (m_fetchMissingBodies && col.cachePolicy()
- .localParts().contains(QLatin1String(Akonadi::MessagePart::Body))) { //disconnected mode, make sure we really have the body cached
-
---
-2.4.6
-