Merge pull request #6579 from deathbeam/properly-destroy
Properly destroy JAWT window on plugin shutdown
This commit is contained in:
@@ -26,7 +26,6 @@ package net.runelite.client.plugins.gpu;
|
|||||||
|
|
||||||
import com.google.common.eventbus.Subscribe;
|
import com.google.common.eventbus.Subscribe;
|
||||||
import com.google.inject.Provides;
|
import com.google.inject.Provides;
|
||||||
import com.jogamp.nativewindow.NativeSurface;
|
|
||||||
import com.jogamp.nativewindow.awt.AWTGraphicsConfiguration;
|
import com.jogamp.nativewindow.awt.AWTGraphicsConfiguration;
|
||||||
import com.jogamp.nativewindow.awt.JAWTWindow;
|
import com.jogamp.nativewindow.awt.JAWTWindow;
|
||||||
import com.jogamp.opengl.GL;
|
import com.jogamp.opengl.GL;
|
||||||
@@ -330,11 +329,6 @@ public class GpuPlugin extends Plugin implements DrawCallbacks
|
|||||||
client.setGpu(false);
|
client.setGpu(false);
|
||||||
client.setDrawCallbacks(null);
|
client.setDrawCallbacks(null);
|
||||||
|
|
||||||
if (jawtWindow.getLock().getHoldCount() != NativeSurface.LOCK_SURFACE_NOT_READY)
|
|
||||||
{
|
|
||||||
jawtWindow.lockSurface();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (bufferId != -1)
|
if (bufferId != -1)
|
||||||
{
|
{
|
||||||
GLUtil.glDeleteBuffer(gl, bufferId);
|
GLUtil.glDeleteBuffer(gl, bufferId);
|
||||||
@@ -357,7 +351,13 @@ public class GpuPlugin extends Plugin implements DrawCallbacks
|
|||||||
shutdownProgram();
|
shutdownProgram();
|
||||||
shutdownVao();
|
shutdownVao();
|
||||||
|
|
||||||
|
if (!jawtWindow.getLock().isLocked())
|
||||||
|
{
|
||||||
|
jawtWindow.lockSurface();
|
||||||
|
}
|
||||||
|
|
||||||
glContext.destroy();
|
glContext.destroy();
|
||||||
|
NewtFactoryAWT.destroyNativeWindow(jawtWindow);
|
||||||
|
|
||||||
jawtWindow = null;
|
jawtWindow = null;
|
||||||
gl = null;
|
gl = null;
|
||||||
|
|||||||
Reference in New Issue
Block a user