I was messing around and doing some debugging because of an error that I was getting which was being caused by something in JOGL. I think that the canvas wasn't removing itself or disposing itself properly. Anyways, I found the following in CanvasPeerImplAWT.destroy()
// FIXME: NVIDIA drivers don't seem to like this
//glCanvas.getContext().destroy();
glCanvas.display();
I was not sure if the display() method was being called as a replacement or if it was there regardless. Now I have a Nvidia card and by trying a couple of things I came up with the following code.
/*
* This may be a possible solution for destroying the glCanvas
*/
GLContext context = glCanvas.getContext();
if( context.makeCurrent() != GLContext.CONTEXT_NOT_CURRENT )
{
context.release();
context.destroy();
}
I added in the if check because if the GLContext is removed before getting here it will not be able to be current and the JOGL code will throw an error.
Marvin can you let me know what you think and if this was already tried?