aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/plugins/qmldesigner/components/componentcore/layoutingridlayout.cpp6
-rw-r--r--src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp7
2 files changed, 10 insertions, 3 deletions
diff --git a/src/plugins/qmldesigner/components/componentcore/layoutingridlayout.cpp b/src/plugins/qmldesigner/components/componentcore/layoutingridlayout.cpp
index ba520a1ca3..a1629c0b5b 100644
--- a/src/plugins/qmldesigner/components/componentcore/layoutingridlayout.cpp
+++ b/src/plugins/qmldesigner/components/componentcore/layoutingridlayout.cpp
@@ -179,6 +179,8 @@ void LayoutInGridLayout::doIt()
initializeCells();
markUsedCells();
+ QTC_ASSERT(m_parentNode.isValid(), return);
+
if (QmlItemNode::isValidQmlItemNode(m_selectionContext.firstSelectedModelNode())) {
const QmlItemNode qmlItemNode = QmlItemNode(m_selectionContext.firstSelectedModelNode());
@@ -256,6 +258,10 @@ void LayoutInGridLayout::collectItemNodes()
m_qmlItemNodes.append(itemNode);
}
}
+
+ if (m_qmlItemNodes.isEmpty())
+ return;
+
m_parentNode = m_qmlItemNodes.constFirst().instanceParentItem();
}
diff --git a/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp b/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp
index 53e29b7157..cc44f9c448 100644
--- a/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp
+++ b/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp
@@ -625,9 +625,10 @@ bool QmlObjectNode::hasInstanceParent() const
bool QmlObjectNode::hasInstanceParentItem() const
{
- return nodeInstance().parentId() >= 0
- && nodeInstanceView()->hasInstanceForId(nodeInstance().parentId())
- && QmlItemNode::isItemOrWindow(view()->modelNodeForInternalId(nodeInstance().parentId()));
+ return isValid()
+ && nodeInstance().parentId() >= 0
+ && nodeInstanceView()->hasInstanceForId(nodeInstance().parentId())
+ && QmlItemNode::isItemOrWindow(view()->modelNodeForInternalId(nodeInstance().parentId()));
}