diff options
author | Marcus Tillmanns <marcus.tillmanns@qt.io> | 2024-03-07 13:00:21 +0100 |
---|---|---|
committer | Marcus Tillmanns <marcus.tillmanns@qt.io> | 2024-03-07 12:16:31 +0000 |
commit | 22f41fb751cd5b1b136e0c7fa15d8e3163bc912e (patch) | |
tree | 76c09edd2984742df898ef969efed2b93ac5a6ef /src/libs/modelinglib | |
parent | c936fc5982f5c11e0d5c411b366e5c7d6ac6bbd2 (diff) |
ModelEditor: Fix crash when selecting items
Fixes: QTCREATORBUG-30413
Change-Id: Ie637e20d6308da2e1afcf3ff710f29c6a1695d58
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Diffstat (limited to 'src/libs/modelinglib')
-rw-r--r-- | src/libs/modelinglib/qmt/diagram_scene/diagramscenemodel.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/libs/modelinglib/qmt/diagram_scene/diagramscenemodel.cpp b/src/libs/modelinglib/qmt/diagram_scene/diagramscenemodel.cpp index 2333bc5154..de8b82de20 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<QGraphicsItem *> copy = m_selectedItems; + for (QGraphicsItem *selectedItem : copy) { if (selectedItem != item) selectedItem->setSelected(false); } |