From 75d6354a372ebe223f0fc31248949727291dbc41 Mon Sep 17 00:00:00 2001 From: Tim Jenssen Date: Thu, 3 Apr 2025 20:02:52 +0200 Subject: [PATCH] QmlDesigner: use transition.ensureIdExists() The noId fallback in displayName generates a wrong id and after the error it goes back to the wrong fallback -> reslting in a loop. Task-number: QDS-15129 Pick-to: qds/4.7 Change-Id: I984d5043c6f1edf6526e55148da2750f91632173 Reviewed-by: Thomas Hartmann --- .../transitioneditor/transitioneditorsettingsdialog.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/plugins/qmldesigner/components/transitioneditor/transitioneditorsettingsdialog.cpp b/src/plugins/qmldesigner/components/transitioneditor/transitioneditorsettingsdialog.cpp index b57a2b4e6de..375eb974f63 100644 --- a/src/plugins/qmldesigner/components/transitioneditor/transitioneditorsettingsdialog.cpp +++ b/src/plugins/qmldesigner/components/transitioneditor/transitioneditorsettingsdialog.cpp @@ -132,8 +132,10 @@ void TransitionEditorSettingsDialog::setupTransitions(const ModelNode &newTransi return; } - for (const auto &transition : transitions) + for (const auto &transition : transitions) { + transition.ensureIdExists(); addTransitionTab(transition); + } if (newTransition.isValid()) { m_currentTransition = newTransition; @@ -146,8 +148,10 @@ void TransitionEditorSettingsDialog::setupTransitions(const ModelNode &newTransi void TransitionEditorSettingsDialog::addTransitionTab(const QmlTimeline &node) { + QTC_ASSERT(node.modelNode().hasId(), return); + auto transitionForm = new TransitionForm(this); - ui->timelineTab->addTab(transitionForm, node.modelNode().displayName()); + ui->timelineTab->addTab(transitionForm, node.modelNode().id()); transitionForm->setTransition(node); connect(transitionForm, &TransitionForm::stateGroupChanged, this, [this](const ModelNode &transition, const ModelNode &stateGroup){