summaryrefslogtreecommitdiffstats
path: root/scene/animation/animation_player.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scene/animation/animation_player.cpp')
-rw-r--r--scene/animation/animation_player.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/scene/animation/animation_player.cpp b/scene/animation/animation_player.cpp
index 15d3dccb71..030f3f27e0 100644
--- a/scene/animation/animation_player.cpp
+++ b/scene/animation/animation_player.cpp
@@ -637,14 +637,15 @@ void AnimationPlayer::_animation_process(float p_delta) {
play(queued.front()->get());
String new_name = playback.assigned;
queued.pop_front();
+ end_notify=false;
emit_signal(SceneStringNames::get_singleton()->animation_changed, old, new_name);
} else {
//stop();
playing = false;
_set_process(false);
+ end_notify=false;
emit_signal(SceneStringNames::get_singleton()->finished);
}
-
}
} else {
@@ -912,7 +913,8 @@ void AnimationPlayer::play(const StringName& p_name, float p_custom_blend, float
c.current.speed_scale=p_custom_scale;
c.assigned=p_name;
- queued.clear();
+ if (!end_notify)
+ queued.clear();
_set_process(true); // always process when starting an animation
playing = true;