From 22f41fb751cd5b1b136e0c7fa15d8e3163bc912e Mon Sep 17 00:00:00 2001 From: Marcus Tillmanns Date: Thu, 7 Mar 2024 13:00:21 +0100 Subject: ModelEditor: Fix crash when selecting items Fixes: QTCREATORBUG-30413 Change-Id: Ie637e20d6308da2e1afcf3ff710f29c6a1695d58 Reviewed-by: Eike Ziller --- src/libs/modelinglib/qmt/diagram_scene/diagramscenemodel.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/libs/modelinglib') diff --git a/src/libs/modelinglib/qmt/diagram_scene/diagramscenemodel.cpp b/src/libs/modelinglib/qmt/diagram_scene/diagramscenemodel.cpp index 2333bc5154e..de8b82de20e 100644 --- a/src/libs/modelinglib/qmt/diagram_scene/diagramscenemodel.cpp +++ b/src/libs/modelinglib/qmt/diagram_scene/diagramscenemodel.cpp @@ -507,7 +507,9 @@ void DiagramSceneModel::selectItem(QGraphicsItem *item, bool multiSelect) { if (!multiSelect) { if (!item->isSelected()) { - for (QGraphicsItem *selectedItem : std::as_const(m_selectedItems)) { + // We have to create a copy since "setSelected" may modify m_selectedItems + const QSet copy = m_selectedItems; + for (QGraphicsItem *selectedItem : copy) { if (selectedItem != item) selectedItem->setSelected(false); } -- cgit v1.2.3