Ensure default node groups' call queue are processed

This commit is contained in:
Pedro J. Estébanez 2023-06-26 16:56:10 +02:00
parent 3aaa787094
commit a39b683b12

View File

@ -1052,13 +1052,13 @@ void SceneTree::_process(bool p_physics) {
if (p_physics) {
if (!pg->physics_nodes.is_empty()) {
process_valid = true;
} else if (pg->owner != nullptr && pg->owner->data.process_thread_messages.has_flag(Node::FLAG_PROCESS_THREAD_MESSAGES_PHYSICS) && pg->call_queue.has_messages()) {
} else if (pg == &default_process_group || (pg->owner != nullptr && pg->owner->data.process_thread_messages.has_flag(Node::FLAG_PROCESS_THREAD_MESSAGES_PHYSICS)) && pg->call_queue.has_messages()) {
process_valid = true;
}
} else {
if (!pg->nodes.is_empty()) {
process_valid = true;
} else if (pg->owner != nullptr && pg->owner->data.process_thread_messages.has_flag(Node::FLAG_PROCESS_THREAD_MESSAGES) && pg->call_queue.has_messages()) {
} else if (pg == &default_process_group || (pg->owner != nullptr && pg->owner->data.process_thread_messages.has_flag(Node::FLAG_PROCESS_THREAD_MESSAGES)) && pg->call_queue.has_messages()) {
process_valid = true;
}
}