From 3aefeb98b42d960182437d76698abee78c0184ea Mon Sep 17 00:00:00 2001 From: James Seibel Date: Tue, 21 Apr 2026 21:37:14 -0500 Subject: [PATCH] Maybe fix native GL crash due to buffer free --- .../common/render/openGl/GlDhMetaRenderer.java | 2 -- .../render/openGl/terrain/GlDhTerrainShaderProgram.java | 6 ++++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/GlDhMetaRenderer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/GlDhMetaRenderer.java index a2eb63640..ebc78b50e 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/GlDhMetaRenderer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/GlDhMetaRenderer.java @@ -10,7 +10,6 @@ import com.seibel.distanthorizons.common.render.openGl.glObject.GLProxy; import com.seibel.distanthorizons.common.render.openGl.glObject.GlDhFramebuffer; import com.seibel.distanthorizons.common.render.openGl.glObject.texture.*; import com.seibel.distanthorizons.common.render.openGl.postProcessing.apply.GlDhApplyShader; -import com.seibel.distanthorizons.common.render.openGl.terrain.GlDhTerrainShaderProgram; import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftGLWrapper; import com.seibel.distanthorizons.common.wrappers.misc.LightMapWrapper; import com.seibel.distanthorizons.core.config.Config; @@ -22,7 +21,6 @@ import com.seibel.distanthorizons.core.render.DhApiRenderProxy; import com.seibel.distanthorizons.core.render.RenderParams; import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper; import com.seibel.distanthorizons.core.wrapperInterfaces.misc.ILightMapWrapper; -import com.seibel.distanthorizons.core.wrapperInterfaces.modAccessor.AbstractOptifineAccessor; import com.seibel.distanthorizons.core.wrapperInterfaces.modAccessor.IOptifineAccessor; import com.seibel.distanthorizons.core.wrapperInterfaces.render.renderPass.IDhMetaRenderer; import com.seibel.distanthorizons.coreapi.DependencyInjection.ApiEventInjector; diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/terrain/GlDhTerrainShaderProgram.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/terrain/GlDhTerrainShaderProgram.java index 7dc7dd049..408ec4efe 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/terrain/GlDhTerrainShaderProgram.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/terrain/GlDhTerrainShaderProgram.java @@ -311,6 +311,12 @@ public class GlDhTerrainShaderProgram extends GlShaderProgram implements IDhApiS for (int lodIndex = 0; lodIndex < bufferContainers.size(); lodIndex++) { LodBufferContainer bufferContainer = bufferContainers.get(lodIndex); + if (!bufferContainer.buffersUploaded) + { + // make sure we don't accidentally try + // rendering a buffer that is (or is going to be) freed + continue; + } // set uniforms and fire events {