1
0
mirror of https://github.com/godotengine/godot.git synced 2026-01-05 19:31:35 +00:00

EditorToaster::popup_str() must always defer to the main MessageQueue

This change is required, because the implementation of call_deferred()
no longer ensures this behaviour: if a MessageQueue is created on a thread,
then that is used instead of the main MessageQueue.
This commit is contained in:
Gergely Kis
2025-01-30 11:05:59 +01:00
parent ee4acfbfbf
commit d73ebc5948

View File

@@ -412,7 +412,7 @@ void EditorToaster::popup_str(const String &p_message, Severity p_severity, cons
// Since "_popup_str" adds nodes to the tree, and since the "add_child" method is not
// thread-safe, it's better to defer the call to the next cycle to be thread-safe.
is_processing_error = true;
callable_mp(this, &EditorToaster::_popup_str).call_deferred(p_message, p_severity, p_tooltip);
MessageQueue::get_main_singleton()->push_callable(callable_mp(this, &EditorToaster::_popup_str), p_message, p_severity, p_tooltip);
is_processing_error = false;
}