Merge pull request #25547 from hpvb/fix-25507

When an animationplayer sets a property on itself recreate the caches
This commit is contained in:
Rémi Verschelde 2019-02-01 16:32:45 +01:00 committed by GitHub
commit 869887641f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

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