forked from qt-creator/qt-creator
QmlDesigner: Fix crash observed during drag and drop
MoveManipulator::end() is called from the dragtool and in this case m_itemList can contain a dangling pointer. m_view->scene()->allFormEditorItems().contains(item) is checking for this case. Change-Id: I367600d7136233d32c9c1683c1be0afcf928fc58 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
This commit is contained in:
committed by
Tim Jenssen
parent
34f51df1ea
commit
2cfeb2cedd
@@ -101,8 +101,9 @@ bool MoveManipulator::itemsCanReparented() const
|
|||||||
|
|
||||||
void MoveManipulator::setDirectUpdateInNodeInstances(bool directUpdate)
|
void MoveManipulator::setDirectUpdateInNodeInstances(bool directUpdate)
|
||||||
{
|
{
|
||||||
for (FormEditorItem* item : std::as_const(m_itemList)) {
|
const auto allFormEditorItems = m_view->scene()->allFormEditorItems();
|
||||||
if (item && item->qmlItemNode().isValid())
|
for (FormEditorItem *item : std::as_const(m_itemList)) {
|
||||||
|
if (item && allFormEditorItems.contains(item) && item->qmlItemNode().isValid())
|
||||||
item->qmlItemNode().nodeInstance().setDirectUpdate(directUpdate);
|
item->qmlItemNode().nodeInstance().setDirectUpdate(directUpdate);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user