summaryrefslogtreecommitdiffstats
path: root/src/widgets/itemviews
diff options
context:
space:
mode:
authorJorgen Lind <jorgen.lind@digia.com>2014-06-24 10:39:27 +0200
committerJørgen Lind <jorgen.lind@digia.com>2014-06-26 10:17:36 +0200
commitc750d8408ed3d114a05412ed5c699d83bdc1b568 (patch)
tree12b45fe9f30b38d30d4a3a33ce8eff21a6b1ef0e /src/widgets/itemviews
parenta11f76fa54d6f3025ce914f6fe64acfb38fc37a2 (diff)
Fix crash when inserting the same instance widget more than once
Task-number: QTBUG-39324 Change-Id: Ib1e0e107cd411311344aa5d85c3ca4c34211448b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Diffstat (limited to 'src/widgets/itemviews')
-rw-r--r--src/widgets/itemviews/qabstractitemview.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/widgets/itemviews/qabstractitemview.cpp b/src/widgets/itemviews/qabstractitemview.cpp
index b2dc614b2b..342fdac636 100644
--- a/src/widgets/itemviews/qabstractitemview.cpp
+++ b/src/widgets/itemviews/qabstractitemview.cpp
@@ -3126,6 +3126,8 @@ void QAbstractItemView::setIndexWidget(const QModelIndex &index, QWidget *widget
Q_D(QAbstractItemView);
if (!d->isIndexValid(index))
return;
+ if (indexWidget(index) == widget)
+ return;
if (QWidget *oldWidget = indexWidget(index)) {
d->persistent.remove(oldWidget);
d->removeEditor(oldWidget);