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>
(cherry picked from commit 2cfeb2cedd
)
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
committed by
Tim Jenssen
parent
cb2bde343a
commit
b295e7a4b1
@@ -101,8 +101,9 @@ bool MoveManipulator::itemsCanReparented() const
|
||||
|
||||
void MoveManipulator::setDirectUpdateInNodeInstances(bool directUpdate)
|
||||
{
|
||||
const auto allFormEditorItems = m_view->scene()->allFormEditorItems();
|
||||
for (FormEditorItem *item : std::as_const(m_itemList)) {
|
||||
if (item && item->qmlItemNode().isValid())
|
||||
if (item && allFormEditorItems.contains(item) && item->qmlItemNode().isValid())
|
||||
item->qmlItemNode().nodeInstance().setDirectUpdate(directUpdate);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user