[SCM] kitemmodels packaging branch, master, updated. debian/5.28.0-1-5-gc3678e0

Maximiliano Curia maxy at moszumanska.debian.org
Tue Apr 4 16:04:29 UTC 2017


Gitweb-URL: http://git.debian.org/?p=pkg-kde/frameworks/kitemmodels.git;a=commitdiff;h=34a39ea

The following commit has been merged in the master branch:
commit 34a39ea0e77036345e095b8056ea4db65d75af53
Author: Maximiliano Curia <maxy at gnuservers.com.ar>
Date:   Tue Apr 4 17:46:05 2017 +0200

    Add new upstream patch: KExtraColumnsProxyModel-Persist-model-indexes-after-emitt.patch
---
 ...xyModel-Persist-model-indexes-after-emitt.patch | 65 ++++++++++++++++++++++
 debian/patches/series                              |  1 +
 2 files changed, 66 insertions(+)

diff --git a/debian/patches/KExtraColumnsProxyModel-Persist-model-indexes-after-emitt.patch b/debian/patches/KExtraColumnsProxyModel-Persist-model-indexes-after-emitt.patch
new file mode 100644
index 0000000..379be8b
--- /dev/null
+++ b/debian/patches/KExtraColumnsProxyModel-Persist-model-indexes-after-emitt.patch
@@ -0,0 +1,65 @@
+From: David Faure <faure at kde.org>
+Date: Tue, 20 Dec 2016 11:16:35 +0100
+Subject: KExtraColumnsProxyModel: Persist model indexes after emitting
+ layoutChange, not before
+
+Same fix as Stephen Kelly's fix for QIdentityProxyModel in https://codereview.qt-project.org/180390
+
+I tried to write a unittest but QStandardItemModel doesn't support moveRow,
+and we don't have all the infrastructure here to force emitting a layoutChange
+with specific parents like in the Qt unittests.
+
+This commit, added to the 3 fixes in Qt, fixes crashes when moving folders in kmail.
+
+CCMAIL: steveire at gmail.com
+---
+ src/kextracolumnsproxymodel.cpp | 29 +++++++++++++++--------------
+ 1 file changed, 15 insertions(+), 14 deletions(-)
+
+diff --git a/src/kextracolumnsproxymodel.cpp b/src/kextracolumnsproxymodel.cpp
+index 53235b8..3626d26 100644
+--- a/src/kextracolumnsproxymodel.cpp
++++ b/src/kextracolumnsproxymodel.cpp
+@@ -271,6 +271,21 @@ int KExtraColumnsProxyModel::proxyColumnForExtraColumn(int extraColumn) const
+ void KExtraColumnsProxyModelPrivate::_ec_sourceLayoutAboutToBeChanged(const QList<QPersistentModelIndex> &sourceParents, QAbstractItemModel::LayoutChangeHint hint)
+ {
+     Q_Q(KExtraColumnsProxyModel);
++
++    QList<QPersistentModelIndex> parents;
++    parents.reserve(sourceParents.size());
++    foreach (const QPersistentModelIndex &parent, sourceParents) {
++        if (!parent.isValid()) {
++            parents << QPersistentModelIndex();
++            continue;
++        }
++        const QModelIndex mappedParent = q->mapFromSource(parent);
++        Q_ASSERT(mappedParent.isValid());
++        parents << mappedParent;
++    }
++
++    emit q->layoutAboutToBeChanged(parents, hint);
++
+     const QModelIndexList persistentIndexList = q->persistentIndexList();
+     layoutChangePersistentIndexes.reserve(persistentIndexList.size());
+     layoutChangeProxyColumns.reserve(persistentIndexList.size());
+@@ -287,20 +302,6 @@ void KExtraColumnsProxyModelPrivate::_ec_sourceLayoutAboutToBeChanged(const QLis
+         Q_ASSERT(srcPersistentIndex.isValid());
+         layoutChangePersistentIndexes << srcPersistentIndex;
+     }
+-
+-    QList<QPersistentModelIndex> parents;
+-    parents.reserve(sourceParents.size());
+-    foreach (const QPersistentModelIndex &parent, sourceParents) {
+-        if (!parent.isValid()) {
+-            parents << QPersistentModelIndex();
+-            continue;
+-        }
+-        const QModelIndex mappedParent = q->mapFromSource(parent);
+-        Q_ASSERT(mappedParent.isValid());
+-        parents << mappedParent;
+-    }
+-
+-    emit q->layoutAboutToBeChanged(parents, hint);
+ }
+ 
+ void KExtraColumnsProxyModelPrivate::_ec_sourceLayoutChanged(const QList<QPersistentModelIndex> &sourceParents, QAbstractItemModel::LayoutChangeHint hint)
diff --git a/debian/patches/series b/debian/patches/series
index 56685dc..4120a8c 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
 Fix-assert-in-beginRemoveRows-when-deselecting-an-empty-c.patch
+KExtraColumnsProxyModel-Persist-model-indexes-after-emitt.patch

-- 
kitemmodels packaging



More information about the pkg-kde-commits mailing list