From c9c56c20994feae2be5f6750e18f6cb5ddb3e42c Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Thu, 12 Nov 2020 16:43:23 +0100 Subject: [PATCH] QmlDesigner: Duplicate state in transaction Change-Id: Ib7db0b82f17edc77adfa91869ac9333f9a6be679 Reviewed-by: Tim Jenssen --- .../components/stateseditor/stateseditorview.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp b/src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp index 8eebe7211a5..126d520d9c5 100644 --- a/src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp +++ b/src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp @@ -231,9 +231,12 @@ void StatesEditorView::duplicateCurrentState() QStringList stateNames = rootStateGroup().names(); while (stateNames.contains(newName + QString::number(i))) i++; + const QString newStateName = newName + QString::number(i); - QmlModelState newState = state.duplicate(newName + QString::number(i)); - setCurrentState(newState); + executeInTransaction("addState", [this, newStateName, state]() { + QmlModelState newState = state.duplicate(newStateName); + setCurrentState(newState); + }); } void StatesEditorView::checkForStatesAvailability()