浏览代码

Merge pull request #69474 from TokageItLab/fix-animation-cache-signal

Fix animation signal `caches_cleared` firing timing
Rémi Verschelde 2 年之前
父节点
当前提交
e9b67569f7
共有 2 个文件被更改,包括 2 次插入2 次删除
  1. 2 1
      scene/animation/animation_player.cpp
  2. 0 1
      scene/animation/animation_tree.cpp

+ 2 - 1
scene/animation/animation_player.cpp

@@ -1800,7 +1800,6 @@ double AnimationPlayer::get_current_animation_length() const {
 
 
 void AnimationPlayer::_animation_changed() {
 void AnimationPlayer::_animation_changed() {
 	clear_caches();
 	clear_caches();
-	emit_signal(SNAME("caches_cleared"));
 	if (is_playing()) {
 	if (is_playing()) {
 		playback.seeked = true; //need to restart stuff, like audio
 		playback.seeked = true; //need to restart stuff, like audio
 	}
 	}
@@ -1839,6 +1838,8 @@ void AnimationPlayer::clear_caches() {
 	cache_update_size = 0;
 	cache_update_size = 0;
 	cache_update_prop_size = 0;
 	cache_update_prop_size = 0;
 	cache_update_bezier_size = 0;
 	cache_update_bezier_size = 0;
+
+	emit_signal(SNAME("caches_cleared"));
 }
 }
 
 
 void AnimationPlayer::set_active(bool p_active) {
 void AnimationPlayer::set_active(bool p_active) {

+ 0 - 1
scene/animation/animation_tree.cpp

@@ -859,7 +859,6 @@ void AnimationTree::_clear_caches() {
 		memdelete(K.value);
 		memdelete(K.value);
 	}
 	}
 	playing_caches.clear();
 	playing_caches.clear();
-
 	track_cache.clear();
 	track_cache.clear();
 	cache_valid = false;
 	cache_valid = false;
 }
 }