diff options
author | Marco Bubke <marco.bubke@nokia.com> | 2010-04-13 16:15:13 +0200 |
---|---|---|
committer | con <qtc-committer@nokia.com> | 2010-04-14 17:00:55 +0200 |
commit | decc1b1aa1e515f5be42e4bc9484ce001740b1e4 (patch) | |
tree | 213b0d6e1f6f8b45ef44dd24461c2dbbf8716713 | |
parent | 483c8c9928b8d2156e32ba787b9e9baa155f75b6 (diff) |
Fix crash for double deleted items
Reviewed-by: kkoehne
(cherry picked from commit 05f43cd6ba5448e9ce9e8a02943305ec2c86f80a)
-rw-r--r-- | src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp b/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp index 267d2678f7..b02538e48a 100644 --- a/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp +++ b/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp @@ -367,7 +367,14 @@ void FormEditorScene::setPaintMode(PaintMode paintMode) void FormEditorScene::clearFormEditorItems() { - foreach (QGraphicsItem *item, items()) { + QList<QGraphicsItem*> itemList(items()); + + foreach (QGraphicsItem *item, itemList) { + if (qgraphicsitem_cast<FormEditorItem* >(item)) + item->setParentItem(0); + } + + foreach (QGraphicsItem *item, itemList) { if (qgraphicsitem_cast<FormEditorItem* >(item)) delete item; } |