summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
authorFabio Alessandrelli <fabio.alessandrelli@gmail.com>2020-09-23 11:24:01 +0200
committerFabio Alessandrelli <fabio.alessandrelli@gmail.com>2020-09-23 11:24:01 +0200
commitf3c6ac1d7183a9aea2809ee283a5cd899caf9f3d (patch)
tree6247b1fbee379d11bd868c014907e0388f0cade0 /main
parentc10e8ac1de356be4e85744818392eef2a1443e99 (diff)
Ignore thread models when compiling with NO_THREAD
The thread model option for physics (2D) and rendering (single-unsafe, single-safe, multithread), was causing crashes/locks when set as multithreaded and exported for a platform that does not support threads (namely HTML5). This commit ensures that when threads support is not available, that option is ignored, and the equivalent of "single-unsafe" is always used instead.
Diffstat (limited to 'main')
-rw-r--r--main/main.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/main/main.cpp b/main/main.cpp
index ced8d7227a..a039283235 100644
--- a/main/main.cpp
+++ b/main/main.cpp
@@ -1274,9 +1274,13 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph
}
if (rtm >= 0 && rtm < 3) {
+#ifdef NO_THREADS
+ rtm = OS::RENDER_THREAD_UNSAFE; // No threads available on this platform.
+#else
if (editor) {
rtm = OS::RENDER_THREAD_SAFE;
}
+#endif
OS::get_singleton()->_render_thread_mode = OS::RenderThreadMode(rtm);
}