From f3c6ac1d7183a9aea2809ee283a5cd899caf9f3d Mon Sep 17 00:00:00 2001 From: Fabio Alessandrelli Date: Wed, 23 Sep 2020 11:24:01 +0200 Subject: 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. --- main/main.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'main') 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); } -- cgit v1.2.3