aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/modelinglib
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2024-04-17 12:48:28 +0200
committerEike Ziller <eike.ziller@qt.io>2024-04-17 13:29:02 +0200
commit0fe73503688c6c4c256ffa39f1a30c329a5ca2e7 (patch)
treef35e6772a7742155ec62c084dd607a3027216795 /src/libs/modelinglib
parent1f162377369d968cd7740d751bc41047591dbe0d (diff)
parentd4d8ea98b75545f99477d2b6a4c6aaaa1b354891 (diff)
Merge remote-tracking branch 'origin/13.0'
Diffstat (limited to 'src/libs/modelinglib')
-rw-r--r--src/libs/modelinglib/qmt/diagram_scene/diagramscenemodel.cpp4
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 de8b82de20..13167f691d 100644
--- a/src/libs/modelinglib/qmt/diagram_scene/diagramscenemodel.cpp
+++ b/src/libs/modelinglib/qmt/diagram_scene/diagramscenemodel.cpp
@@ -353,7 +353,9 @@ void DiagramSceneModel::selectAllElements()
void DiagramSceneModel::selectElement(DElement *element)
{
QGraphicsItem *selectItem = m_elementToItemMap.value(element);
- for (QGraphicsItem *item : 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 *item : copy) {
if (item != selectItem)
item->setSelected(false);
}