From 2ebf1e32197d7236ff820c542e22ec78e700bdc1 Mon Sep 17 00:00:00 2001 From: Kenneth Russel Date: Mon, 29 May 2006 14:42:28 +0000 Subject: Fixed Issue 220: Gears demo throws exceptions with -Dsun.java2d.opengl=true On non-X11 platforms, removed workaround in Threading class which treats both the EDT and the QFT as viable threads upon which to execute OpenGL work. Deadlock issues remain on X11 threads when causing OpenGL contexts associated with heavyweight widgets to be made current on the QFT. On Windows the QFT is now used for all OpenGL work when the Java2D/JOGL bridge is active. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@786 232f8b59-042b-4e1e-8c03-345bb8c30851 --- src/classes/com/sun/opengl/impl/Java2D.java | 2 ++ src/classes/com/sun/opengl/impl/windows/WindowsGLContext.java | 3 +++ 2 files changed, 5 insertions(+) (limited to 'src/classes/com/sun/opengl') diff --git a/src/classes/com/sun/opengl/impl/Java2D.java b/src/classes/com/sun/opengl/impl/Java2D.java index 3d14f3003..de3d477e3 100755 --- a/src/classes/com/sun/opengl/impl/Java2D.java +++ b/src/classes/com/sun/opengl/impl/Java2D.java @@ -412,11 +412,13 @@ public class Java2D { // similar rather than keeping one share context in a global // variable. initializedJ2DFBOShareContext = true; + System.err.println("Starting initialization of J2D FBO share context"); invokeWithOGLSharedContextCurrent(gc, new Runnable() { public void run() { j2dFBOShareContext = GLDrawableFactory.getFactory().createExternalGLContext(); } }); + System.err.println("Ending initialization of J2D FBO share context"); } } } diff --git a/src/classes/com/sun/opengl/impl/windows/WindowsGLContext.java b/src/classes/com/sun/opengl/impl/windows/WindowsGLContext.java index a78c3baf0..7a4b73351 100644 --- a/src/classes/com/sun/opengl/impl/windows/WindowsGLContext.java +++ b/src/classes/com/sun/opengl/impl/windows/WindowsGLContext.java @@ -121,6 +121,9 @@ public class WindowsGLContext extends GLContextImpl { if (hglrc == 0) { throw new GLException("Unable to create OpenGL context for device context " + toHexString(drawable.getHDC())); } + if (DEBUG) { + System.err.println(getThreadName() + ": !!! Created OpenGL context " + toHexString(hglrc) + " for " + this + ", device context " + toHexString(drawable.getHDC()) + ", not yet sharing"); + } // Windows can set up sharing of display lists after creation time WindowsGLContext other = (WindowsGLContext) GLContextShareSet.getShareContext(this); long hglrc2 = 0; -- cgit v1.2.3