Fixes caches_cleared signal discrepancies in AnimationTree (fixes #25460)

This commit is contained in:
PouleyKetchoupp 2019-04-10 15:48:18 +02:00
parent 5772f60f96
commit 66e07a2ec6
1 changed files with 11 additions and 3 deletions

View File

@ -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");
}
}
}