summaryrefslogtreecommitdiff
path: root/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp
diff options
context:
space:
mode:
authorMarco Bubke <marco.bubke@nokia.com>2010-09-21 16:21:35 +0200
committerThomas Hartmann <Thomas.Hartmann@nokia.com>2010-09-24 09:10:46 +0200
commitd2b3258e5938372c96bf9603fbe8a0143b9389c9 (patch)
tree3269c8f931b722110e6e2c20a40d07fc72e06d34 /src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp
parent48ff3f7a2938a271d2f91c0dc2aa5edb8765e13e (diff)
downloadqt-creator-d2b3258e5938372c96bf9603fbe8a0143b9389c9.tar.gz
QmlDesigner.FormEditor: Test if a qml item is valid to prevent crashes
Diffstat (limited to 'src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp')
-rw-r--r--src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp b/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp
index 342bc7ee5d..14058de2ac 100644
--- a/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp
+++ b/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp
@@ -128,12 +128,15 @@ AbstractFormEditorTool* FormEditorScene::currentTool() const
//This method calculates the possible parent for reparent
FormEditorItem* FormEditorScene::calulateNewParent(FormEditorItem *formEditorItem)
{
- QList<QGraphicsItem *> list = items(formEditorItem->qmlItemNode().instanceBoundingRect().center());
- foreach (QGraphicsItem *graphicsItem, list) {
- if (qgraphicsitem_cast<FormEditorItem*>(graphicsItem) &&
- graphicsItem->collidesWithItem(formEditorItem, Qt::ContainsItemShape))
- return qgraphicsitem_cast<FormEditorItem*>(graphicsItem);
+ if (formEditorItem->qmlItemNode().isValid()) {
+ QList<QGraphicsItem *> list = items(formEditorItem->qmlItemNode().instanceBoundingRect().center());
+ foreach (QGraphicsItem *graphicsItem, list) {
+ if (qgraphicsitem_cast<FormEditorItem*>(graphicsItem) &&
+ graphicsItem->collidesWithItem(formEditorItem, Qt::ContainsItemShape))
+ return qgraphicsitem_cast<FormEditorItem*>(graphicsItem);
+ }
}
+
return 0;
}