Add a way to force history for undoredo #79796
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.
Fixes #79750
The problem was that visual shader editor created a new resource that was nested in an external resource and the action was created before that resource had a path. This made EditorUndoRedoManager assume that the nested resource is part of the scene (which is default assumption for built-in resources with empty path). It's difficult to automatically determine where the object should belong in this case, so I added a method
force_correct_history()
, which allows the user to explicitly tell the undo system that the object belongs to the correct history.EDIT:
Added a fix for #91830 (comment) (error when renaming animation in external SpriteFrames)