Flush delete queue after process frame timers

This commit is contained in:
kobewi 2023-12-02 18:29:23 +01:00
parent f0d15bbfdf
commit 6aebc91298

View file

@ -492,11 +492,11 @@ bool SceneTree::physics_process(double p_time) {
MessageQueue::get_singleton()->flush(); //small little hack
process_timers(p_time, true); //go through timers
process_tweens(p_time, true);
flush_transform_notifications();
// This should happen last because any processing that deletes something beforehand might expect the object to be removed in the same frame.
_flush_delete_queue();
_call_idle_callbacks();
@ -529,17 +529,17 @@ bool SceneTree::process(double p_time) {
MessageQueue::get_singleton()->flush(); //small little hack
flush_transform_notifications(); //transforms after world update, to avoid unnecessary enter/exit notifications
_flush_delete_queue();
if (unlikely(pending_new_scene)) {
_flush_scene_change();
}
process_timers(p_time, false); //go through timers
process_tweens(p_time, false);
flush_transform_notifications(); //additional transforms after timers update
flush_transform_notifications(); // Additional transforms after timers update.
// This should happen last because any processing that deletes something beforehand might expect the object to be removed in the same frame.
_flush_delete_queue();
_call_idle_callbacks();