diff options
author | Michael Brasser <michael.brasser@live.com> | 2015-06-23 13:13:01 -0500 |
---|---|---|
committer | Michael Brasser <michael.brasser@live.com> | 2015-06-30 14:57:48 +0000 |
commit | 9d0e702b1f29c8120f2000e1558a7b040311d8c0 (patch) | |
tree | 33ed02784bfe5d29ffa84faafa128005b97991a6 /src/quick/items/qquickrepeater.cpp | |
parent | f869d0e550f7fcc664c9280a09c0c75adf24669b (diff) |
Prevent errors when removing items from Repeater that reference parent.
Use the same ordering as item views and release before unparenting.
Change-Id: I0346342cfcaf9385d8385769795dd5ba35fc43aa
Task-number: QTBUG-46828
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
Diffstat (limited to 'src/quick/items/qquickrepeater.cpp')
-rw-r--r-- | src/quick/items/qquickrepeater.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/quick/items/qquickrepeater.cpp b/src/quick/items/qquickrepeater.cpp index 5333ad2f08..09b504b742 100644 --- a/src/quick/items/qquickrepeater.cpp +++ b/src/quick/items/qquickrepeater.cpp @@ -361,8 +361,8 @@ void QQuickRepeater::clear() if (QQuickItem *item = d->deletables.at(i)) { if (complete) emit itemRemoved(i, item); - item->setParentItem(0); d->model->release(item); + item->setParentItem(0); } } } @@ -466,8 +466,8 @@ void QQuickRepeater::modelUpdated(const QQmlChangeSet &changeSet, bool reset) d->deletables.remove(index); emit itemRemoved(index, item); if (item) { - item->setParentItem(0); d->model->release(item); + item->setParentItem(0); } --d->itemCount; } |