summaryrefslogtreecommitdiff
path: root/src/corelib/kernel/qabstractitemmodel.cpp
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2009-11-26 16:00:13 +0100
committerOlivier Goffart <ogoffart@trolltech.com>2009-11-26 16:28:00 +0100
commit88b9c6eb3f1dde9997d5e824450c9eaa2a36f8d5 (patch)
tree44dcef8d9fa3dbbd4f115ccb3a6e16ab0b8494c1 /src/corelib/kernel/qabstractitemmodel.cpp
parent236d8ad3aedd09e905df97412380545d0986be2c (diff)
downloadqt4-tools-88b9c6eb3f1dde9997d5e824450c9eaa2a36f8d5.tar.gz
Don't crash via proxy model when moving QModelIndexes
The layoutAboutToBeChanged signal gives proxies a chance to persist QModelIndexes. The d->itemsAboutToBeMoved method is part of the process of moving the persistent indexes. d->itemsAboutToBeMoved must be called after layoutAboutToBeChanged. Otherwise persistent indexes will not be updated. Merge-request: 2219 Reviewed-by: Olivier Goffart <ogoffart@trolltech.com>
Diffstat (limited to 'src/corelib/kernel/qabstractitemmodel.cpp')
-rw-r--r--src/corelib/kernel/qabstractitemmodel.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/corelib/kernel/qabstractitemmodel.cpp b/src/corelib/kernel/qabstractitemmodel.cpp
index 10a61cacbf..9335085db6 100644
--- a/src/corelib/kernel/qabstractitemmodel.cpp
+++ b/src/corelib/kernel/qabstractitemmodel.cpp
@@ -2546,9 +2546,9 @@ bool QAbstractItemModel::beginMoveRows(const QModelIndex &sourceParent, int sour
int destinationLast = destinationChild + (sourceLast - sourceFirst);
d->changes.push(QAbstractItemModelPrivate::Change(destinationParent, destinationChild, destinationLast));
- d->itemsAboutToBeMoved(sourceParent, sourceFirst, sourceLast, destinationParent, destinationChild, Qt::Vertical);
emit rowsAboutToBeMoved(sourceParent, sourceFirst, sourceLast, destinationParent, destinationChild);
emit layoutAboutToBeChanged();
+ d->itemsAboutToBeMoved(sourceParent, sourceFirst, sourceLast, destinationParent, destinationChild, Qt::Vertical);
return true;
}