Fix some animation state corruptions on activate and reset on save #86644
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.
Variant
animation forInt
/Array
/String
#84815I have commented there on the following:
The main cause of this was that the inactive or duplicated AnimationMixer would do the processing for reset_on_save many times. So this PR adds 2 checks:
The conversion of the track cache to blendwise for backup is not necessary in practice, but added for safety.
Also, the dummy player is made inactive when it is generated; The dummy player is added to the scene when an AnimationTree is selected, but if it is activated by default, an invisible dummy player would play the animation when an inactive AnimationTree is selected. Fixed.
Moreover, regarding @YuriSizov concern in #85794 (comment), I have found that the problem occurs at the moment of activating, so I have reverted it so that it is not handled twice. I confirmed that #85640 works well, so regression will not occur.