aboutsummaryrefslogtreecommitdiffstats
path: root/src/jogl/classes/jogamp/opengl/DesktopGLDynamicLibraryBundleInfo.java
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2013-01-18 03:38:35 +0100
committerSven Gothel <[email protected]>2013-01-18 03:38:35 +0100
commit34687193484b2404d83eebf5d008b71d54e52286 (patch)
tree5e8d58b86a586f66cf18e281775d8bc6f91d200d /src/jogl/classes/jogamp/opengl/DesktopGLDynamicLibraryBundleInfo.java
parent896a0821b78c9aadf38e0d881922e03849584984 (diff)
Fix Bug 669: Recursive GLContext makeCurrent()/release()
Culprit: GLContext's makeCurrent() didn't clear the boolean flag 'unlockContextAndSurface' in case the context is already current (-> recursion). Above case was detected within a code block tailed by a finally block, which acted on mentioned flag, i.e. called lock.unlock() and hence decremented the lock count even though the method return w/ successful state. Fixed. Added debug code: GLContext.release() debug code (DEBUG | TRACE_SWITCH), recording stack trace of last release() call, which is dumped in case no current was current. Added 2 unit tests: - Simple recursive GLContext makeCurrent()/release() from within GLEventListener's display(). Test also validates lock count and lock ownership. - GLAutoDrawable display() of another GLAutoDrawable from within GLEventListener's display(..).
Diffstat (limited to 'src/jogl/classes/jogamp/opengl/DesktopGLDynamicLibraryBundleInfo.java')
0 files changed, 0 insertions, 0 deletions