Просмотр исходного кода

Merge pull request #78044 from RandomShaper/fix_node_prio_ignored

Fix node idle process priority being ignored
Rémi Verschelde 2 лет назад
Родитель
Сommit
300748e52c
1 измененных файлов с 10 добавлено и 5 удалено
  1. 10 5
      scene/main/scene_tree.cpp

+ 10 - 5
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