You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-07 12:30:27 +00:00
Prevent threading problems in TileMap
This commit is contained in:
@@ -69,9 +69,6 @@ void TilesEditorUtils::_thread_func(void *ud) {
|
||||
}
|
||||
|
||||
void TilesEditorUtils::_thread() {
|
||||
CallQueue queue;
|
||||
MessageQueue::set_thread_singleton_override(&queue);
|
||||
|
||||
pattern_thread_exited.clear();
|
||||
while (!pattern_thread_exit.is_set()) {
|
||||
pattern_preview_sem.wait();
|
||||
@@ -131,8 +128,6 @@ void TilesEditorUtils::_thread() {
|
||||
// Add the viewport at the last moment to avoid rendering too early.
|
||||
callable_mp((Node *)EditorNode::get_singleton(), &Node::add_child).call_deferred(viewport, false, Node::INTERNAL_MODE_DISABLED);
|
||||
|
||||
MessageQueue::get_singleton()->flush();
|
||||
|
||||
RS::get_singleton()->connect(SNAME("frame_pre_draw"), callable_mp(const_cast<TilesEditorUtils *>(this), &TilesEditorUtils::_preview_frame_started), Object::CONNECT_ONE_SHOT);
|
||||
|
||||
pattern_preview_done.wait();
|
||||
@@ -145,11 +140,7 @@ void TilesEditorUtils::_thread() {
|
||||
viewport->queue_free();
|
||||
}
|
||||
}
|
||||
|
||||
MessageQueue::get_singleton()->flush();
|
||||
}
|
||||
|
||||
MessageQueue::get_singleton()->flush();
|
||||
pattern_thread_exited.set();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user