diff --git a/src/java/org/lwjgl/opengl/GLContext.java b/src/java/org/lwjgl/opengl/GLContext.java index fa37bde8..e9352b87 100644 --- a/src/java/org/lwjgl/opengl/GLContext.java +++ b/src/java/org/lwjgl/opengl/GLContext.java @@ -234,6 +234,7 @@ public final class GLContext { if (did_auto_load) unloadOpenGLLibrary(); currentContext = null; + VBOTracker.setCurrent(null); return; } // Is this the same as last time? diff --git a/src/java/org/lwjgl/opengl/VBOTracker.java b/src/java/org/lwjgl/opengl/VBOTracker.java index d114ffd2..1e2f07b2 100644 --- a/src/java/org/lwjgl/opengl/VBOTracker.java +++ b/src/java/org/lwjgl/opengl/VBOTracker.java @@ -71,7 +71,11 @@ class VBOTracker { * @param context */ static synchronized void setCurrent(Object context) { - current_tracker = (VBOTracker) contextToTracker.get(context); + if (context == null) { + current_tracker = null; + return; + } + current_tracker = (VBOTracker)contextToTracker.get(context); if (current_tracker == null) { current_tracker = new VBOTracker(); contextToTracker.put(context, current_tracker);