From 5800ba57f030a50ca78868c67a6d5a440df56eb2 Mon Sep 17 00:00:00 2001 From: Eduardo Ramos Date: Wed, 12 Jun 2024 16:30:51 +0200 Subject: [PATCH] Destroy direct buffer promptly instead of waiting for GC --- .../gephi/viz/engine/jogl/util/ManagedDirectBuffer.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/opengl-jogl/src/main/java/org/gephi/viz/engine/jogl/util/ManagedDirectBuffer.java b/modules/opengl-jogl/src/main/java/org/gephi/viz/engine/jogl/util/ManagedDirectBuffer.java index fc3d90e..1a4a646 100644 --- a/modules/opengl-jogl/src/main/java/org/gephi/viz/engine/jogl/util/ManagedDirectBuffer.java +++ b/modules/opengl-jogl/src/main/java/org/gephi/viz/engine/jogl/util/ManagedDirectBuffer.java @@ -1,7 +1,9 @@ package org.gephi.viz.engine.jogl.util; +import com.jogamp.common.nio.Buffers; import com.jogamp.opengl.util.GLBuffers; import java.nio.Buffer; +import java.nio.ByteBuffer; import java.nio.FloatBuffer; import java.nio.IntBuffer; @@ -55,6 +57,9 @@ public int getElementsCapacity() { } public void destroy() { - //NOOP + // Should always be, but let's be careful: + if (buffer instanceof ByteBuffer) { + GLBuffers.Cleaner.clean((ByteBuffer) buffer); + } } }