Fix undo action names for node replacement #89121
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When using conversion plugins, like CPUParticles -> GPUParticles or Sprite2D -> Polygon2D, there is a specially named undo action, but what instead shows is generic "Change type of node(s)". It's caused by EditorUndoRedoManager quirk, which makes it not create action until first operation if there is no undo context, but since
replace_node()
creates its own action, the nesting doesn't happen and wrong action is used as base (while the original one is committed empty). The fix is to assign correct context when creating undo action, which this PR does.Before:
After: