From 48327b235bb50bc63e4bc9424629e12819e824e9 Mon Sep 17 00:00:00 2001 From: vaner-org <9658355+vaner-org@users.noreply.github.com> Date: Sat, 20 Jun 2026 14:27:50 +0530 Subject: [PATCH] Fix Abort on Reset functionality in OneShot --- scene/animation/animation_blend_tree.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/scene/animation/animation_blend_tree.cpp b/scene/animation/animation_blend_tree.cpp index a532c6d62b..a5d6e23b62 100644 --- a/scene/animation/animation_blend_tree.cpp +++ b/scene/animation/animation_blend_tree.cpp @@ -600,15 +600,15 @@ AnimationNode::NodeTimeInfo AnimationNodeOneShot::_process(ProcessState &p_proce bool p_is_external_seeking = p_playback_info.is_external_seeking; bool do_start = cur_request == ONE_SHOT_REQUEST_FIRE; - - bool is_reset = Math::is_zero_approx(p_time) && p_seek && !p_is_external_seeking; - if (is_reset && cur_internal_active) { - do_start = true; - } - bool is_abort = cur_request == ONE_SHOT_REQUEST_ABORT; - if (is_reset && !do_start && (is_fading_out || (abort_on_reset && cur_active))) { - is_abort = true; + bool is_reset = Math::is_zero_approx(p_time) && p_seek && !p_is_external_seeking; + if (is_reset) { + if (!do_start && (is_fading_out || (abort_on_reset && cur_active))) { + is_abort = true; + } + if (cur_internal_active) { + do_start = true; + } } if (is_abort) {