From 7f5316108d2a4230e3fcbefa3519c52f22bde31d Mon Sep 17 00:00:00 2001 From: James Seibel Date: Sat, 21 Mar 2026 08:17:06 -0500 Subject: [PATCH] Fix GL buffers not being deleted --- .../common/render/openGl/glObject/buffer/GLBuffer.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/buffer/GLBuffer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/buffer/GLBuffer.java index d556402a9..2cd787f6e 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/buffer/GLBuffer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/buffer/GLBuffer.java @@ -136,7 +136,8 @@ public class GLBuffer implements AutoCloseable return; } - RenderThreadTaskHandler.INSTANCE.queueRunningOnRenderThread("GLBuffer destroyAsync", () -> { destroyBufferIdNow(this.id); }); + final int idToDelete = this.id; // saving the ID to a separate variable is necessary so it can be captured by the lambda + RenderThreadTaskHandler.INSTANCE.queueRunningOnRenderThread("GLBuffer destroyAsync", () -> { destroyBufferIdNow(idToDelete); }); this.id = 0; this.size = 0; @@ -146,6 +147,7 @@ public class GLBuffer implements AutoCloseable // only delete valid buffers if (id == 0) { + LOGGER.warn("Attempted to destroy a buffer with ID 0, VRAM memory leaks may occur."); return; }