From 51df3f354a700454498371c0565bfcd6c0d3bf5f Mon Sep 17 00:00:00 2001
From: Sven Gothel <sgothel@jausoft.com>
Date: Fri, 20 Sep 2013 11:37:38 +0200
Subject: Bug 839: Clarifying GLStateTracker.clearStates(..) remove 'enable'
 change - Part 1

TODO: Only disable state tracker at GLContext.destroy()
---
 src/jogl/classes/jogamp/opengl/GLContextImpl.java | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

(limited to 'src/jogl/classes/jogamp/opengl/GLContextImpl.java')

diff --git a/src/jogl/classes/jogamp/opengl/GLContextImpl.java b/src/jogl/classes/jogamp/opengl/GLContextImpl.java
index 22240c246..ff90966cd 100644
--- a/src/jogl/classes/jogamp/opengl/GLContextImpl.java
+++ b/src/jogl/classes/jogamp/opengl/GLContextImpl.java
@@ -148,8 +148,7 @@ public abstract class GLContextImpl extends GLContext {
     this.glDebugHandler = new GLDebugMessageHandler(this);
   }
 
-  @Override
-  protected void resetStates() {
+  private final void clearStates() {
       // Because we don't know how many other contexts we might be
       // sharing with (and it seems too complicated to implement the
       // GLObjectTracker's ref/unref scheme for the buffer-related
@@ -158,14 +157,18 @@ public abstract class GLContextImpl extends GLContext {
       if (bufferSizeTracker != null) {
           bufferSizeTracker.clearCachedBufferSizes();
       }
-
       if (bufferStateTracker != null) { // <init>
           bufferStateTracker.clearBufferObjectState();
       }
-
       if (glStateTracker != null) { // <init>
-          glStateTracker.clearStates(false);
+          glStateTracker.setEnabled(false);
+          glStateTracker.clearStates();
       }
+  }
+  
+  @Override
+  protected void resetStates() {
+      clearStates();
 
       extensionAvailability = null;
       glProcAddressTable = null;
-- 
cgit v1.2.3