From 3e9751aca44dc5213cbfa3480d82dbfd0210eb6d Mon Sep 17 00:00:00 2001 From: Chia-Hsiang Cheng Date: Mon, 7 Aug 2023 18:21:28 +0800 Subject: [PATCH] Avoid emitting signals if the animation is not ready to be processed (cherry picked from commit ef5d0b1c06e57aca0d638a46d2824c23f85de6a4) --- scene/animation/animation_blend_tree.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scene/animation/animation_blend_tree.cpp b/scene/animation/animation_blend_tree.cpp index 111c3525ec7..ce85f818ff2 100644 --- a/scene/animation/animation_blend_tree.cpp +++ b/scene/animation/animation_blend_tree.cpp @@ -150,7 +150,7 @@ double AnimationNodeAnimation::_process(double p_time, bool p_seek, bool p_is_ex // Emit start & finish signal. Internally, the detections are the same for backward. // We should use call_deferred since the track keys are still being processed. - if (state->tree) { + if (state->tree && !p_test_only) { // AnimationTree uses seek to 0 "internally" to process the first key of the animation, which is used as the start detection. if (p_seek && !p_is_external_seeking && cur_time == 0) { state->tree->call_deferred(SNAME("emit_signal"), "animation_started", animation);