When an animationplayer sets a property on itself recreate the caches

this fixes #25507
This commit is contained in:
Hein-Pieter van Braam 2019-02-01 16:15:39 +01:00
parent 58de384978
commit 37aa06bf8a

View file

@ -344,10 +344,16 @@ void AnimationPlayer::_animation_process_animation(AnimationData *p_anim, float
for (int i = 0; i < a->get_track_count(); i++) {
// If an animation changes this animation (or it animates itself)
// we need to recreate our animation cache
if (p_anim->node_cache.size() != a->get_track_count()) {
_ensure_node_caches(p_anim);
}
TrackNodeCache *nc = p_anim->node_cache[i];
if (!nc) // no node cache for this track, skip it
continue;
if (!nc)
continue; // no node cache for this track, skip it
if (!a->track_is_enabled(i))
continue; // do nothing if the track is disabled