What causes this exception?


Exception in thread "main" net.java.games.jogl.GLException: Surface already unlocked
    at net.java.games.jogl.impl.windows.WindowsOnscreenGLContext.unlockSurface(WindowsOnscreenGLContext.java:199)
    at net.java.games.jogl.impl.windows.WindowsOnscreenGLContext.free(WindowsOnscreenGLContext.java:134)
    at net.java.games.jogl.impl.GLContext.invokeGL(GLContext.java:319)
    at net.java.games.jogl.GLCanvas.displayImpl(GLCanvas.java:208)
    at net.java.games.jogl.GLCanvas.display(GLCanvas.java:75)
    at cola3d.demos.DemoUI.importFile(DemoUI.java:684)
    at cola3d.demos.DemoUI.main(DemoUI.java:704)

I’m trying to copy some source code from HWShadowmapsSimple.java, and this exception happens when I call PBuffer.display() inside my Canvas listener’s display method.

Yet, they do the same thing in the JOGL demo? What could I be doing wrong?

Thanks,

[quote]

Check to be sure you’re using the latest JOGL library for your development. Support for nested display() calls was added fairly recently. If your JOGL library and jogl-demos source trees are in sync then you should be fine.

Try running under a debugger and catching all exceptions of type net.java.games.jogl.GLException. A lower-level exception might be occurring during pbuffer instantiation that is (incorrectly) being hidden. I’d be interested to see your code in this case. If you could file a bug with the Issue Tracker on the JOGL web page and add it as an attachment I could take a look.

I do not see a Bug Tracker link on the JOGL webpage, or any other links which seem to allow me to do this.

How do I submit a bug?

I have source code which does reproduce this problem. Can I e-mail it to you?

Request Observer status for the JOGL project and the Issue Tracker will become available once it is granted (which will be ASAP). I would prefer you file a bug through the official channels, though you can reach me at my dev.java.net address (user kbr).

Thank you very much! I didn’t realize that was what you have to do.