forked from qt-creator/qt-creator
QmlDesigner: Fix crash
Create an id for nodes if keyframe is added. Added missing ::executeInTransaction(). Using executeInTransaction() catches exceptions. Task-number: QDS-5769 Change-Id: I395d98eec6ead091bd8578019ec3f958b4099db8 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
committed by
Tim Jenssen
parent
50cd753255
commit
3b265858a0
@@ -317,7 +317,9 @@ void PropertyEditorContextObject::insertKeyframe(const QString &propertyName)
|
||||
QTC_ASSERT(timeline.isValid(), return );
|
||||
QTC_ASSERT(selectedNode.isValid(), return );
|
||||
|
||||
timeline.insertKeyframe(selectedNode, propertyName.toUtf8());
|
||||
rewriterView->executeInTransaction("PropertyEditorContextObject::insertKeyframe", [&]{
|
||||
timeline.insertKeyframe(selectedNode, propertyName.toUtf8());
|
||||
});
|
||||
}
|
||||
|
||||
int PropertyEditorContextObject::majorVersion() const
|
||||
|
@@ -74,7 +74,9 @@ void QmlTimelineKeyframeGroup::setTarget(const ModelNode &target)
|
||||
{
|
||||
QTC_ASSERT(isValid(), return );
|
||||
|
||||
modelNode().bindingProperty("target").setExpression(target.id());
|
||||
ModelNode nonConstTarget = target;
|
||||
|
||||
modelNode().bindingProperty("target").setExpression(nonConstTarget.validId());
|
||||
}
|
||||
|
||||
PropertyName QmlTimelineKeyframeGroup::propertyName() const
|
||||
|
Reference in New Issue
Block a user