diff options
author | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2015-10-15 10:51:19 -0300 |
---|---|---|
committer | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2015-10-15 10:51:19 -0300 |
commit | 8f4332f3a8fe32a515bce9721560a4fe9bed4c50 (patch) | |
tree | 4457e475e3d6a6f7bd221d360eb9b9c8571a4737 /nonprism/kdepim-runtime/kdepim-runtime-bug338658.patch | |
parent | eb7dde4c34eae0a1b71e3a97ba094b32d5fc2ac6 (diff) | |
download | abslibre-8f4332f3a8fe32a515bce9721560a4fe9bed4c50.tar.gz abslibre-8f4332f3a8fe32a515bce9721560a4fe9bed4c50.tar.bz2 abslibre-8f4332f3a8fe32a515bce9721560a4fe9bed4c50.zip |
kdepim-runtime-15.08.2-1.nonprism1: updating version
Diffstat (limited to 'nonprism/kdepim-runtime/kdepim-runtime-bug338658.patch')
-rw-r--r-- | nonprism/kdepim-runtime/kdepim-runtime-bug338658.patch | 181 |
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 - |