diff options
author | Kenneth Russel <[email protected]> | 2008-08-09 02:07:36 +0000 |
---|---|---|
committer | Kenneth Russel <[email protected]> | 2008-08-09 02:07:36 +0000 |
commit | 2360494f69b0b624b12ac8dbd838d79b214ebf6f (patch) | |
tree | 0ececceae42152e17769a10bf3623405bf9baf98 /src/classes | |
parent | 16b35828d26acd9076fb7addd6382a66e5e57e6c (diff) |
Fixed problem with Newt GLWindow where the EGL implementation we're
working with expects the context to be current while swapping the buffers
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1745 232f8b59-042b-4e1e-8c03-345bb8c30851
Diffstat (limited to 'src/classes')
-rw-r--r-- | src/classes/com/sun/javafx/newt/GLWindow.java | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/classes/com/sun/javafx/newt/GLWindow.java b/src/classes/com/sun/javafx/newt/GLWindow.java index de2205773..e46416a1d 100644 --- a/src/classes/com/sun/javafx/newt/GLWindow.java +++ b/src/classes/com/sun/javafx/newt/GLWindow.java @@ -354,7 +354,12 @@ public class GLWindow extends Window implements GLAutoDrawable { } public void swapBuffers() { - drawable.swapBuffers(); + if (context != null && context != GLContext.getCurrent()) { + // Assume we should try to make the context current before swapping the buffers + helper.invokeGL(drawable, context, swapBuffersAction, initAction); + } else { + drawable.swapBuffers(); + } } class InitAction implements Runnable { @@ -380,6 +385,14 @@ public class GLWindow extends Window implements GLAutoDrawable { private DisplayAction displayAction = new DisplayAction(); + class SwapBuffersAction implements Runnable { + public void run() { + drawable.swapBuffers(); + } + } + + private SwapBuffersAction swapBuffersAction = new SwapBuffersAction(); + //---------------------------------------------------------------------- // GLDrawable methods that are not really needed // |