diff options
Diffstat (limited to 'src/classes/com/sun/opengl/impl/GLContextImpl.java')
-rw-r--r-- | src/classes/com/sun/opengl/impl/GLContextImpl.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/classes/com/sun/opengl/impl/GLContextImpl.java b/src/classes/com/sun/opengl/impl/GLContextImpl.java index a4eee6652..4a6885f45 100644 --- a/src/classes/com/sun/opengl/impl/GLContextImpl.java +++ b/src/classes/com/sun/opengl/impl/GLContextImpl.java @@ -96,6 +96,12 @@ public abstract class GLContextImpl extends GLContext { } } + if (GLWorkerThread.isStarted() && + !GLWorkerThread.isWorkerThread()) { + // Kick the GLWorkerThread off its current context + GLWorkerThread.invokeLater(new Runnable() { public void run() {} }); + } + lock.lock(); int res = 0; try { @@ -345,4 +351,8 @@ public abstract class GLContextImpl extends GLContext { public GLObjectTracker getObjectTracker() { return tracker; } + + public boolean hasWaiters() { + return lock.hasWaiters(); + } } |