From 750d8b7bc3509103e5f6ea91d83d50c114367136 Mon Sep 17 00:00:00 2001 From: James Seibel Date: Wed, 3 Apr 2024 07:19:34 -0500 Subject: [PATCH] Fix crash in 1.16 due to buffer upload happening before rendering is setup --- .../distanthorizons/core/render/LodRenderSection.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/core/src/main/java/com/seibel/distanthorizons/core/render/LodRenderSection.java b/core/src/main/java/com/seibel/distanthorizons/core/render/LodRenderSection.java index 7b856c78d..1b87956f0 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/render/LodRenderSection.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/render/LodRenderSection.java @@ -29,6 +29,7 @@ import com.seibel.distanthorizons.core.file.fullDatafile.FullDataSourceProviderV import com.seibel.distanthorizons.core.level.IDhClientLevel; import com.seibel.distanthorizons.core.logging.DhLoggerBuilder; import com.seibel.distanthorizons.core.pos.DhSectionPos; +import com.seibel.distanthorizons.core.render.glObject.GLProxy; import com.seibel.distanthorizons.core.render.renderer.IDebugRenderable; import com.seibel.distanthorizons.core.dataObjects.render.bufferBuilding.ColumnRenderBuffer; import com.seibel.distanthorizons.core.render.renderer.DebugRenderer; @@ -92,6 +93,13 @@ public class LodRenderSection implements IDebugRenderable, AutoCloseable public void loadRenderSourceAsync() { + if (!GLProxy.hasInstance()) + { + // it's possible to try uploading buffers before the GLProxy has been initialized + // which would cause the system to crash + return; + } + if (this.renderSourceLoadingFuture != null) { return;