ソースを参照

Merge pull request #27895 from nekomatata/fix-animation-tree-error

Fix caches_cleared signal discrepancies in AnimationTree
Rémi Verschelde 6 年 前
コミット
9c514c2606
1 ファイル変更11 行追加3 行削除
  1. 11 3
      scene/animation/animation_tree.cpp

+ 11 - 3
scene/animation/animation_tree.cpp

@@ -1302,9 +1302,17 @@ void AnimationTree::_notification(int p_what) {
 		_clear_caches();
 		if (last_animation_player) {
 
-			Object *old_player = ObjectDB::get_instance(last_animation_player);
-			if (old_player) {
-				old_player->disconnect("caches_cleared", this, "_clear_caches");
+			Object *player = ObjectDB::get_instance(last_animation_player);
+			if (player) {
+				player->disconnect("caches_cleared", this, "_clear_caches");
+			}
+		}
+	} else if (p_what == NOTIFICATION_ENTER_TREE) {
+		if (last_animation_player) {
+
+			Object *player = ObjectDB::get_instance(last_animation_player);
+			if (player) {
+				player->connect("caches_cleared", this, "_clear_caches");
 			}
 		}
 	}