GLJPanel exception on resize

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

GLJPanel exception on resize

ariekenb
Put a GLJPanel into a JFrame or JInternalFrame.  Resize the frame.  During the resize the exception below is thrown and nothing is painted in the GLJPanel after this.  The behavior is the same with JFrame or JInternalFrame so I think this is a general problem with GLJPanel.  I do not see a bug for this in bugzilla.

System/JOGL configuration: test.log

Exception:

Exception in thread "AWT-EventQueue-0" javax.media.opengl.GLException: GLEventListener org.aaron.jogl2.Gears@33d6f122 already initialized: AWT-GLJPanel[ com.jogamp.opengl.impl.GLPbufferImpl]
        at com.jogamp.opengl.impl.GLDrawableHelper.init(GLDrawableHelper.java:168)
        at javax.media.opengl.awt.GLJPanel$Updater.init(GLJPanel.java:600)
        at com.jogamp.opengl.impl.GLDrawableHelper.init(GLDrawableHelper.java:153)
        at com.jogamp.opengl.impl.GLDrawableHelper.init(GLDrawableHelper.java:167)
        at com.jogamp.opengl.impl.GLPbufferImpl$InitAction.run(GLPbufferImpl.java:304)
        at com.jogamp.opengl.impl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:348)
        at com.jogamp.opengl.impl.GLPbufferImpl.maybeDoSingleThreadedWorkaround(GLPbufferImpl.java:297)
        at com.jogamp.opengl.impl.GLPbufferImpl.display(GLPbufferImpl.java:121)
        at javax.media.opengl.awt.GLJPanel$PbufferBackend.doPaintComponentImpl(GLJPanel.java:1173)
        at javax.media.opengl.awt.GLJPanel$AbstractReadbackBackend.doPaintComponent(GLJPanel.java:944)
        at javax.media.opengl.awt.GLJPanel.paintComponent(GLJPanel.java:324)
        at javax.swing.JComponent.paint(JComponent.java:1029)
        at javax.swing.JComponent.paintChildren(JComponent.java:862)
        at javax.swing.JComponent.paint(JComponent.java:1038)
        at javax.swing.JComponent.paintChildren(JComponent.java:862)
        at javax.swing.JComponent.paint(JComponent.java:1038)
        at javax.swing.JLayeredPane.paint(JLayeredPane.java:567)
        at javax.swing.JComponent.paintChildren(JComponent.java:862)
        at javax.swing.JComponent.paintToOffscreen(JComponent.java:5131)
        at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:278)
        at javax.swing.RepaintManager.paint(RepaintManager.java:1224)
        at javax.swing.JComponent.paint(JComponent.java:1015)
        at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:21)
        at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:60)
        at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:97)
        at java.awt.Container.paint(Container.java:1780)
        at java.awt.Window.paint(Window.java:3375)
        at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:796)
        at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:713)
        at javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:693)
        at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:125)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Reply | Threaded
Open this post in threaded view
|

Re: GLJPanel exception on resize

ariekenb
The original report was running with JOGL 2.0-b4.  I tested with the latest nightly build (b237) and see the same results.

Here is a test.log from my system using b237: test.log

Here is the code for my GLJPanel test program that uses resizable JInternalFrames: gljpaneltest.zip
Reply | Threaded
Open this post in threaded view
|

Re: GLJPanel exception on resize

Sven Gothel
Administrator
On Sunday, November 28, 2010 21:58:03 ariekenb [via jogamp] wrote:
>
> The original report was running with JOGL 2.0-b4.  I tested with the latest nightly build (b237) and see the same results.
>
> Here is a test.log from my system using b237: test.log
>
> Here is the code for my GLJPanel test program that uses resizable JInternalFrames: gljpaneltest.zip

BWT - we have no nightlies, we call 'em autobuilds.
If I don't disable 'em for some reason, they are triggered by an SCM change.

Guess you keep me busy .. good :)

Will check on that.

~Sven
Reply | Threaded
Open this post in threaded view
|

Re: GLJPanel exception on resize

gsxruk
Hi,

I'm getting this same exception with GLJPanel.  In my application the GLJPanel is contained in a JScrollPane and I'm resizing using setPreferredSize().  However, the exception also occurs when the JFrame is resized.

Is this a bug or are we missing something?

Thanks.
Reply | Threaded
Open this post in threaded view
|

Re: GLJPanel exception on resize

ariekenb
I'm pretty sure this is a bug in JOGL 2 because an equivalent program in JOGL 1.1.1 using JInternalFrame works perfectly.
Reply | Threaded
Open this post in threaded view
|

Re: GLJPanel exception on resize

gsxruk
Think you're right.  I just changed to build b246 to see if a later build helps.  Not sure if this fixed the problem because I now get a different exception immediately with the same code as before.  It seems you can't even use a GLJPanel now unless I'm doing something wrong.  I have created a small test program which I'll post on a new thread and hopefully someone can help.