aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarco Bubke <marco.bubke@nokia.com>2010-04-13 16:15:13 +0200
committercon <qtc-committer@nokia.com>2010-04-14 17:00:55 +0200
commitdecc1b1aa1e515f5be42e4bc9484ce001740b1e4 (patch)
tree213b0d6e1f6f8b45ef44dd24461c2dbbf8716713
parent483c8c9928b8d2156e32ba787b9e9baa155f75b6 (diff)
Fix crash for double deleted items
Reviewed-by: kkoehne (cherry picked from commit 05f43cd6ba5448e9ce9e8a02943305ec2c86f80a)
-rw-r--r--src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp9
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;
}