summaryrefslogtreecommitdiffstats
path: root/src/jogl/classes/jogamp/opengl/GLDrawableImpl.java
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2012-03-04 23:05:28 +0100
committerSven Gothel <[email protected]>2012-03-04 23:05:28 +0100
commita0177c8a1048683e5d43f4712f8f9e37091d4e85 (patch)
tree0d164b0a2fbeda187549f41e488be05f8666b726 /src/jogl/classes/jogamp/opengl/GLDrawableImpl.java
parentaeca49c50789b42d991386ace3edd0c10d23acc2 (diff)
NEWT/GLWindow.display(): No explicit surface locking/unlocking for GLDrawableHelper.invokeGL(..) - it's done implicit at makeCurrent()/release()
The explicit locking takes away the locking result, eg. SURFACE_CHANGED, which is required to update the delegated drawable handles (e.g.: EGL surface handle). With the followup fix of EGLDrawable.updateHandle()'s recreate EGL surface, an EGL 'wrapper' can work on Windows (eg. ANGLE).
Diffstat (limited to 'src/jogl/classes/jogamp/opengl/GLDrawableImpl.java')
-rw-r--r--src/jogl/classes/jogamp/opengl/GLDrawableImpl.java9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/jogl/classes/jogamp/opengl/GLDrawableImpl.java b/src/jogl/classes/jogamp/opengl/GLDrawableImpl.java
index 02a94f31c..ba64127d4 100644
--- a/src/jogl/classes/jogamp/opengl/GLDrawableImpl.java
+++ b/src/jogl/classes/jogamp/opengl/GLDrawableImpl.java
@@ -135,7 +135,12 @@ public abstract class GLDrawableImpl implements GLDrawable {
protected void destroyHandle() {}
/** called with locked surface @ setRealized(true) or @ lockSurface(..) when surface changed */
- protected void updateHandle() {}
+ protected void updateHandle() {
+ if(DEBUG) {
+ System.err.println(getThreadName() + ": updateHandle: "+getClass().getSimpleName()+": "+this);
+ Thread.dumpStack();
+ }
+ }
public long getHandle() {
return surface.getSurfaceHandle();
@@ -148,7 +153,7 @@ public abstract class GLDrawableImpl implements GLDrawable {
public final synchronized void setRealized(boolean realizedArg) {
if ( realized != realizedArg ) {
if(DEBUG) {
- System.err.println(getThreadName() + ": setRealized: "+getClass().getName()+" "+realized+" -> "+realizedArg);
+ System.err.println(getThreadName() + ": setRealized: "+getClass().getSimpleName()+" "+realized+" -> "+realizedArg);
}
realized = realizedArg;
AbstractGraphicsDevice aDevice = surface.getGraphicsConfiguration().getScreen().getDevice();