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(timeline.isValid(), return );
|
||||||
QTC_ASSERT(selectedNode.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
|
int PropertyEditorContextObject::majorVersion() const
|
||||||
|
@@ -74,7 +74,9 @@ void QmlTimelineKeyframeGroup::setTarget(const ModelNode &target)
|
|||||||
{
|
{
|
||||||
QTC_ASSERT(isValid(), return );
|
QTC_ASSERT(isValid(), return );
|
||||||
|
|
||||||
modelNode().bindingProperty("target").setExpression(target.id());
|
ModelNode nonConstTarget = target;
|
||||||
|
|
||||||
|
modelNode().bindingProperty("target").setExpression(nonConstTarget.validId());
|
||||||
}
|
}
|
||||||
|
|
||||||
PropertyName QmlTimelineKeyframeGroup::propertyName() const
|
PropertyName QmlTimelineKeyframeGroup::propertyName() const
|
||||||
|
Reference in New Issue
Block a user