From a590be0cb260c35760c3ec134de81dd575c3db1e Mon Sep 17 00:00:00 2001 From: David Snopek Date: Mon, 28 Jul 2025 13:02:46 -0500 Subject: [PATCH] OpenGL: Fix crash with "Thread Model" set to "Separate" --- servers/rendering/rendering_server_default.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/servers/rendering/rendering_server_default.cpp b/servers/rendering/rendering_server_default.cpp index 09c532aa0bc..620abd0eea3 100644 --- a/servers/rendering/rendering_server_default.cpp +++ b/servers/rendering/rendering_server_default.cpp @@ -376,8 +376,12 @@ Size2i RenderingServerDefault::get_maximum_viewport_size() const { void RenderingServerDefault::_assign_mt_ids(WorkerThreadPool::TaskID p_pump_task_id) { server_thread = Thread::get_caller_id(); server_task_id = p_pump_task_id; - // This is needed because the main RD is created on the main thread. - RenderingDevice::get_singleton()->make_current(); + + RenderingDevice *rd = RenderingDevice::get_singleton(); + if (rd) { + // This is needed because the main RD is created on the main thread. + rd->make_current(); + } } void RenderingServerDefault::_thread_exit() {