Skip to content

Commit

Permalink
Merge pull request #82953 from jsjtxietian/document-forcedraw-can-onl…
Browse files Browse the repository at this point in the history
…y-be-called-from-main-thread

Add thread guard for `force_draw` and update related documentation
  • Loading branch information
YuriSizov committed Dec 8, 2023
2 parents 0481a0b + b88b84c commit dfe0f58
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 1 deletion.
2 changes: 1 addition & 1 deletion doc/classes/RenderingServer.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1362,7 +1362,7 @@
<param index="0" name="swap_buffers" type="bool" default="true" />
<param index="1" name="frame_step" type="float" default="0.0" />
<description>
Forces redrawing of all viewports at once.
Forces redrawing of all viewports at once. Must be called from the main thread.
</description>
</method>
<method name="force_sync">
Expand Down
1 change: 1 addition & 0 deletions servers/rendering/rendering_server_default.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -379,6 +379,7 @@ void RenderingServerDefault::sync() {
}

void RenderingServerDefault::draw(bool p_swap_buffers, double frame_step) {
ERR_FAIL_COND_MSG(!Thread::is_main_thread(), "Manually triggering the draw function from the RenderingServer can only be done on the main thread. Call this function from the main thread or use call_deferred().");
if (create_thread) {
command_queue.push(this, &RenderingServerDefault::_thread_draw, p_swap_buffers, frame_step);
} else {
Expand Down

0 comments on commit dfe0f58

Please sign in to comment.