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
Change-Id: I984d5043c6f1edf6526e55148da2750f91632173
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
(cherry picked from commit 75d6354a37)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Tim Jenssen
2025-04-03 20:02:52 +02:00
parent 819ad98520
commit 5c0f42a9d6

View File

@@ -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){