From 357d2cbcc498be65055d6b1ea8a6176ffb4c907c Mon Sep 17 00:00:00 2001 From: Kenneth Russel Date: Tue, 17 Apr 2007 05:33:23 +0000 Subject: Fixed Issue 290: GLJPanel throws NullPointerExceptions with Java 2D/JOGL bridge Fixed NPEs in setAutoSwapBufferMode and swapBuffers if Java 2D / JOGL bridge is enabled. These methods are essentially no-ops on the GLJPanel anyway because of how the copying to the Swing rendering area (be it a BufferedImage or the Swing back buffer) is done. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1199 232f8b59-042b-4e1e-8c03-345bb8c30851 --- src/classes/javax/media/opengl/GLJPanel.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/classes/javax/media') diff --git a/src/classes/javax/media/opengl/GLJPanel.java b/src/classes/javax/media/opengl/GLJPanel.java index 3e08ab079..180ae2111 100644 --- a/src/classes/javax/media/opengl/GLJPanel.java +++ b/src/classes/javax/media/opengl/GLJPanel.java @@ -795,7 +795,7 @@ public class GLJPanel extends JPanel implements GLAutoDrawable { } public boolean getAutoSwapBufferMode() { - if (!hardwareAccelerationDisabled) { + if (!hardwareAccelerationDisabled && !oglPipelineEnabled) { return pbuffer.getAutoSwapBufferMode(); } else { return drawableHelper.getAutoSwapBufferMode(); @@ -803,7 +803,15 @@ public class GLJPanel extends JPanel implements GLAutoDrawable { } public void swapBuffers() { - if (!hardwareAccelerationDisabled) { + // In the current implementation this is basically a no-op. Both + // the pbuffer and pixmap based rendering paths use a single- + // buffered surface so swapping the buffers doesn't do anything. + // We also don't currently have the provision to skip copying the + // data to the Swing portion of the GLJPanel in any of the + // rendering paths. + if (oglPipelineEnabled) { + // Do nothing + } else if (!hardwareAccelerationDisabled) { pbuffer.swapBuffers(); } else { drawableHelper.invokeGL(offscreenDrawable, offscreenContext, swapBuffersAction, initAction); -- cgit v1.2.3