summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPedro J. Estébanez <pedrojrulez@gmail.com>2023-06-09 13:05:07 +0200
committerPedro J. Estébanez <pedrojrulez@gmail.com>2023-06-09 13:05:07 +0200
commit8bbc713ebf40a6e395fac5ecdc654da39ca86d00 (patch)
tree3ed44111094f61b2dd65db6ed9978f45f663e9ac
parent828ec2c5d005b6499c7c4c88beaf81767d05614b (diff)
downloadredot-engine-8bbc713ebf40a6e395fac5ecdc654da39ca86d00.tar.gz
Fix node idle process priority being ignored
-rw-r--r--scene/main/scene_tree.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/scene/main/scene_tree.cpp b/scene/main/scene_tree.cpp
index b18369dd11..7c43368f96 100644
--- a/scene/main/scene_tree.cpp
+++ b/scene/main/scene_tree.cpp
@@ -905,11 +905,16 @@ void SceneTree::_process_group(ProcessGroup *p_group, bool p_physics) {
return;
}
- bool &node_order_dirty = p_physics ? p_group->physics_node_order_dirty : p_group->node_order_dirty;
-
- if (node_order_dirty) {
- nodes.sort_custom<Node::ComparatorWithPhysicsPriority>();
- node_order_dirty = false;
+ if (p_physics) {
+ if (p_group->physics_node_order_dirty) {
+ nodes.sort_custom<Node::ComparatorWithPhysicsPriority>();
+ p_group->physics_node_order_dirty = false;
+ }
+ } else {
+ if (p_group->node_order_dirty) {
+ nodes.sort_custom<Node::ComparatorWithPriority>();
+ p_group->node_order_dirty = false;
+ }
}
// Make a copy, so if nodes are added/removed from process, this does not break