Commit
cf95674e16d34a85191d3af0a35d1357e011fcac
by Sven Gothelhttp://www.jogamp.org/bugzilla/show_bug.cgi?id=391
As shown below, the concurrent access of GLStateTracker
while being cleared by GLContext.destroy() causes a NPE.
GLContext.destroy() shall disable it first, then clear it.
The state stack pop method shall also swap the mapping
with a most atomic action.
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at com.sun.opengl.impl.GLStateTracker.getInt(GLStateTracker.java:94)
at com.sun.opengl.impl.gl2.GL2Impl.glGetIntegerv(GL2Impl.java:6102)
at com.sun.opengl.impl.gl2.GL2Impl.imageSizeInBytes(GL2Impl.java:26000)
at com.sun.opengl.impl.gl2.GL2Impl.imageSizeInBytes(GL2Impl.java:25713)
at com.sun.opengl.impl.gl2.GL2Impl.glTexImage2D(GL2Impl.java:18692)
at glredbook1314.combiner.init(combiner.java:104)
at com.sun.opengl.impl.GLDrawableHelper.init(GLDrawableHelper.java:88)
at javax.media.opengl.awt.GLJPanel$Updater.init(GLJPanel.java:557)
at com.sun.opengl.impl.GLDrawableHelper.init(GLDrawableHelper.java:88)
at
com.sun.opengl.impl.GLPbufferImpl$InitAction.run(GLPbufferImpl.java:274)
at
com.sun.opengl.impl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:149)
at
com.sun.opengl.impl.GLPbufferImpl.maybeDoSingleThreadedWorkaround(GLPbufferImpl.java:267)
at
com.sun.opengl.impl.GLPbufferImpl.swapBuffers(GLPbufferImpl.java:157)
at
com.sun.opengl.impl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:159)
at javax.media.opengl.awt.GLJPanel.dispose(GLJPanel.java:238)
+++