瀏覽代碼

Merge pull request #109057 from dsnopek/opengl-crash-separate-threading-model

OpenGL: Fix crash at startup with "Thread Model" set to "Separate"
Thaddeus Crews 1 月之前
父節點
當前提交
ccb05568be
共有 1 個文件被更改,包括 6 次插入2 次删除
  1. 6 2
      servers/rendering/rendering_server_default.cpp

+ 6 - 2
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() {