An unexpected exception error

Hi, I have “An unexpected exception has been detected in native code outside the VM” error whenever I try to run two different GLCanvases in tow different JFrames. When I open the first one it works. When I try to make the second visible I get the following error:

An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : 11 occurred at PC=0x824227
Function=XQueryExtension+0x17
Library=/usr/X11R6/lib/libX11.so.6

Current Java thread:
at net.java.games.jogl.impl.x11.GLX.glXDestroyContext(Native Method)
at net.java.games.jogl.impl.x11.X11OnscreenGLContext.lockSurface(X11OnscreenGLContext.java:163)
at net.java.games.jogl.impl.x11.X11OnscreenGLContext.makeCurrent(X11OnscreenGLContext.java:108)
- locked <0x44c14a58> (a net.java.games.jogl.impl.x11.X11OnscreenGLContext)
at net.java.games.jogl.impl.GLContext.invokeGL(GLContext.java:203)
- locked <0x44c14a58> (a net.java.games.jogl.impl.x11.X11OnscreenGLContext)
at net.java.games.jogl.GLCanvas.reshape(GLCanvas.java:97)
at java.awt.Component.setBounds(Component.java:1664)
at java.awt.BorderLayout.layoutContainer(BorderLayout.java:691)
- locked <0x44ad6480> (a java.awt.Component$AWTTreeLock)
at java.awt.Container.layout(Container.java:1020)
at java.awt.Container.doLayout(Container.java:1010)
at java.awt.Container.validateTree(Container.java:1092)
at java.awt.Container.validateTree(Container.java:1099)
at java.awt.Container.validateTree(Container.java:1099)
at java.awt.Container.validateTree(Container.java:1099)
at java.awt.Container.validateTree(Container.java:1099)
at java.awt.Container.validateTree(Container.java:1099)
at java.awt.Container.validateTree(Container.java:1099)
at java.awt.Container.validateTree(Container.java:1099)
at java.awt.Container.validate(Container.java:1067)
- locked <0x44ad6480> (a java.awt.Component$AWTTreeLock)
at java.awt.Window.show(Window.java:461)
at java.awt.Component.show(Component.java:1133)
at java.awt.Component.setVisible(Component.java:1088)
at jgrass.client.module.grassgui.gui.start(gui.java:143)
at jgrass.util.PluginModuleHelper.LoadGuiModule(PluginModuleHelper.java:47)
at jgrass.client.gui.swing.GrassFrame.LoadGrassEnvironment(GrassFrame.java:485)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at jgrass.client.gui.swing.GrassFrame.actionPerformed(GrassFrame.java:264)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.AbstractButton.doClick(AbstractButton.java:289)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1113)
at javax.swing.plaf.basic.BasicMenuItemUI$MouseInputHandler.mouseReleased(BasicMenuItemUI.java:943)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:232)
at java.awt.Component.processMouseEvent(Component.java:5100)
at java.awt.Component.processEvent(Component.java:4897)
at java.awt.Container.processEvent(Container.java:1569)
at java.awt.Component.dispatchEventImpl(Component.java:3615)
at java.awt.Container.dispatchEventImpl(Container.java:1627)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
at java.awt.Container.dispatchEventImpl(Container.java:1613)
at java.awt.Window.dispatchEventImpl(Window.java:1606)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)

I don’t know how to proceed. I have tried to restrict the calls to the canvas if it is not visible but this does not seem to help. Can anybody point me in the right direction to a solution.

Thanks

John :’(

Could you please file an issue on the JOGL web page (Issue tracker, left hand side of the page)? Could you include the specific OS version, graphics card vendor, and JDK version and vendor being used, as well as a test case? Thanks.

Ok. But one question. I went to the issue tracker page but I don’t see where to file an issue. The help stuff only deals with searching the database and voting on an issue.

I’ve tracked down the error to the destroying of the context. Is there some special stuff to destroying the context.

My OS is Linux Fedora Core-1 2.4.x kernel, with XFree 4.3 and ATI 9800 Pro card, driver 3.7.6. The output of glxinfo is:
name of display: :0.0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.2
server glx extensions:
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context
client glx vendor string: ATI
client glx version string: 1.3
client glx extensions:
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context,
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_ATI_pixel_format_float,
GLX_ATI_render_texture
GLX extensions:
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: RADEON 9800 Pro Generic
OpenGL version string: 1.3 (X4.3.0-3.7.6)
OpenGL extensions:
GL_ARB_multitexture, GL_EXT_texture_env_add, GL_EXT_compiled_vertex_array,
GL_S3_s3tc, GL_ARB_depth_texture, GL_ARB_fragment_program,
GL_ARB_multisample, GL_ARB_occlusion_query, GL_ARB_point_parameters,
GL_ARB_shadow, GL_ARB_shadow_ambient, GL_ARB_texture_border_clamp,
GL_ARB_texture_compression, GL_ARB_texture_cube_map,
GL_ARB_texture_env_add, GL_ARB_texture_env_combine,
GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3,
GL_ARB_texture_mirrored_repeat, GL_ARB_transpose_matrix,
GL_ARB_vertex_blend, GL_ARB_vertex_buffer_object, GL_ARB_vertex_program,
GL_ARB_window_pos, GL_ATI_draw_buffers, GL_ATI_element_array,
GL_ATI_envmap_bumpmap, GL_ATI_fragment_shader, GL_ATI_map_object_buffer,
GL_ATI_separate_stencil, GL_ATI_texture_env_combine3,
GL_ATI_texture_float, GL_ATI_texture_mirror_once,
GL_ATI_vertex_array_object, GL_ATI_vertex_attrib_array_object,
GL_ATI_vertex_streams, GL_ATIX_texture_env_combine3,
GL_ATIX_texture_env_route, GL_ATIX_vertex_shader_output_point_size,
GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color, GL_EXT_blend_func_separate,
GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_clip_volume_hint,
GL_EXT_draw_range_elements, GL_EXT_fog_coord, GL_EXT_multi_draw_arrays,
GL_EXT_packed_pixels, GL_EXT_point_parameters, GL_EXT_rescale_normal,
GL_EXT_secondary_color, GL_EXT_separate_specular_color,
GL_EXT_shadow_funcs, GL_EXT_stencil_wrap, GL_EXT_texgen_reflection,
GL_EXT_texture3D, GL_EXT_texture_compression_s3tc,
GL_EXT_texture_cube_map, GL_EXT_texture_edge_clamp,
GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3,
GL_EXT_texture_filter_anisotropic, GL_EXT_texture_lod_bias,
GL_EXT_texture_object, GL_EXT_texture_rectangle, GL_EXT_vertex_array,
GL_EXT_vertex_shader, GL_HP_occlusion_test, GL_NV_texgen_reflection,
GL_NV_blend_square, GL_NV_occlusion_query, GL_NV_point_sprite,
GL_ARB_point_sprite, GL_SGI_color_matrix, GL_SGIS_texture_edge_clamp,
GL_SGIS_texture_border_clamp, GL_SGIS_texture_lod,
GL_SGIS_generate_mipmap, GL_SGIS_multitexture, GL_SUN_multi_draw_arrays
glu version: 1.3
glu extensions:
GLU_EXT_nurbs_tessellator, GLU_EXT_object_space_tess

visual x bf lv rg d st colorbuffer ax dp st accumbuffer ms cav
id dep cl sp sz l ci b ro r g b a bf th cl r g b a ns b eat

0x23 24 tc 0 24 0 r y . 8 8 8 8 0 24 8 16 16 16 16 1 0 None
0x24 24 tc 0 24 0 r . . 8 8 8 8 0 24 8 16 16 16 16 1 0 None
0x25 24 tc 0 24 0 r y . 8 8 8 8 0 24 0 16 16 16 16 1 0 None
0x26 24 tc 0 24 0 r . . 8 8 8 8 0 24 0 16 16 16 16 1 0 None
0x27 24 tc 0 24 0 r y . 8 8 8 8 0 24 8 0 0 0 0 1 0 None
0x28 24 tc 0 24 0 r . . 8 8 8 8 0 24 8 0 0 0 0 1 0 None
0x29 24 tc 0 24 0 r y . 8 8 8 8 0 24 0 0 0 0 0 1 0 None
0x2a 24 tc 0 24 0 r . . 8 8 8 8 0 24 0 0 0 0 0 1 0 None
0x2b 24 tc 0 24 0 r y . 8 8 8 8 0 24 8 16 16 16 16 1 0 None
0x2c 24 tc 0 24 0 r . . 8 8 8 8 0 24 8 16 16 16 16 1 0 None
0x2d 24 tc 0 24 0 r y . 8 8 8 8 0 24 0 16 16 16 16 1 0 None
0x2e 24 tc 0 24 0 r . . 8 8 8 8 0 24 0 16 16 16 16 1 0 None
0x2f 24 tc 0 24 0 r y . 8 8 8 8 0 24 8 0 0 0 0 2 1 None
0x30 24 tc 0 24 0 r . . 8 8 8 8 0 24 8 0 0 0 0 2 1 None
0x31 24 tc 0 24 0 r y . 8 8 8 8 0 24 0 0 0 0 0 2 1 None
0x32 24 tc 0 24 0 r . . 8 8 8 8 0 24 0 0 0 0 0 2 1 None
0x33 24 tc 0 24 0 r y . 8 8 8 8 0 24 8 16 16 16 16 1 0 None
0x34 24 tc 0 24 0 r . . 8 8 8 8 0 24 8 16 16 16 16 1 0 None
0x35 24 tc 0 24 0 r y . 8 8 8 8 0 24 0 16 16 16 16 1 0 None
0x36 24 tc 0 24 0 r . . 8 8 8 8 0 24 0 16 16 16 16 1 0 None
0x37 24 tc 0 24 0 r y . 8 8 8 8 0 24 8 0 0 0 0 4 1 None
0x38 24 tc 0 24 0 r . . 8 8 8 8 0 24 8 0 0 0 0 4 1 None
0x39 24 tc 0 24 0 r y . 8 8 8 8 0 24 0 0 0 0 0 4 1 None
0x3a 24 tc 0 24 0 r . . 8 8 8 8 0 24 0 0 0 0 0 4 1 None
0x3b 24 tc 0 24 0 r y . 8 8 8 8 0 24 8 16 16 16 16 1 0 None
0x3c 24 tc 0 24 0 r . . 8 8 8 8 0 24 8 16 16 16 16 1 0 None
0x3d 24 tc 0 24 0 r y . 8 8 8 8 0 24 0 16 16 16 16 1 0 None
0x3e 24 tc 0 24 0 r . . 8 8 8 8 0 24 0 16 16 16 16 1 0 None
0x3f 24 tc 0 24 0 r y . 8 8 8 8 0 24 8 0 0 0 0 6 1 None
0x40 24 tc 0 24 0 r . . 8 8 8 8 0 24 8 0 0 0 0 6 1 None
0x41 24 tc 0 24 0 r y . 8 8 8 8 0 24 0 0 0 0 0 6 1 None
0x42 24 tc 0 24 0 r . . 8 8 8 8 0 24 0 0 0 0 0 6 1 None
0x43 24 dc 0 24 0 r y . 8 8 8 8 0 24 8 16 16 16 16 1 0 None
0x44 24 dc 0 24 0 r . . 8 8 8 8 0 24 8 16 16 16 16 1 0 None
0x45 24 dc 0 24 0 r y . 8 8 8 8 0 24 0 16 16 16 16 1 0 None
0x46 24 dc 0 24 0 r . . 8 8 8 8 0 24 0 16 16 16 16 1 0 None
0x47 24 dc 0 24 0 r y . 8 8 8 8 0 24 8 0 0 0 0 1 0 None
0x48 24 dc 0 24 0 r . . 8 8 8 8 0 24 8 0 0 0 0 1 0 None
0x49 24 dc 0 24 0 r y . 8 8 8 8 0 24 0 0 0 0 0 1 0 None
0x4a 24 dc 0 24 0 r . . 8 8 8 8 0 24 0 0 0 0 0 1 0 None
0x4b 24 dc 0 24 0 r y . 8 8 8 8 0 24 8 16 16 16 16 1 0 None
0x4c 24 dc 0 24 0 r . . 8 8 8 8 0 24 8 16 16 16 16 1 0 None
0x4d 24 dc 0 24 0 r y . 8 8 8 8 0 24 0 16 16 16 16 1 0 None
0x4e 24 dc 0 24 0 r . . 8 8 8 8 0 24 0 16 16 16 16 1 0 None
0x4f 24 dc 0 24 0 r y . 8 8 8 8 0 24 8 0 0 0 0 2 1 None
0x50 24 dc 0 24 0 r . . 8 8 8 8 0 24 8 0 0 0 0 2 1 None
0x51 24 dc 0 24 0 r y . 8 8 8 8 0 24 0 0 0 0 0 2 1 None
0x52 24 dc 0 24 0 r . . 8 8 8 8 0 24 0 0 0 0 0 2 1 None
0x53 24 dc 0 24 0 r y . 8 8 8 8 0 24 8 16 16 16 16 1 0 None
0x54 24 dc 0 24 0 r . . 8 8 8 8 0 24 8 16 16 16 16 1 0 None
0x55 24 dc 0 24 0 r y . 8 8 8 8 0 24 0 16 16 16 16 1 0 None
0x56 24 dc 0 24 0 r . . 8 8 8 8 0 24 0 16 16 16 16 1 0 None
0x57 24 dc 0 24 0 r y . 8 8 8 8 0 24 8 0 0 0 0 4 1 None
0x58 24 dc 0 24 0 r . . 8 8 8 8 0 24 8 0 0 0 0 4 1 None
0x59 24 dc 0 24 0 r y . 8 8 8 8 0 24 0 0 0 0 0 4 1 None
0x5a 24 dc 0 24 0 r . . 8 8 8 8 0 24 0 0 0 0 0 4 1 None
0x5b 24 dc 0 24 0 r y . 8 8 8 8 0 24 8 16 16 16 16 1 0 None
0x5c 24 dc 0 24 0 r . . 8 8 8 8 0 24 8 16 16 16 16 1 0 None
0x5d 24 dc 0 24 0 r y . 8 8 8 8 0 24 0 16 16 16 16 1 0 None
0x5e 24 dc 0 24 0 r . . 8 8 8 8 0 24 0 16 16 16 16 1 0 None
0x5f 24 dc 0 24 0 r y . 8 8 8 8 0 24 8 0 0 0 0 6 1 None
0x60 24 dc 0 24 0 r . . 8 8 8 8 0 24 8 0 0 0 0 6 1 None
0x61 24 dc 0 24 0 r y . 8 8 8 8 0 24 0 0 0 0 0 6 1 None
0x62 24 dc 0 24 0 r . . 8 8 8 8 0 24 0 0 0 0 0 6 1 None

The xvinfo output is:
X-Video Extension version 2.2
screen #0
Adaptor #0: “ATI Radeon Video Overlay”
number of ports: 1
port base: 115
operations supported: PutImage
supported visuals:
depth 24, visualID 0x23
depth 24, visualID 0x24
depth 24, visualID 0x25
depth 24, visualID 0x26
depth 24, visualID 0x27
depth 24, visualID 0x28
depth 24, visualID 0x29
depth 24, visualID 0x2a
depth 24, visualID 0x2b
depth 24, visualID 0x2c
depth 24, visualID 0x2d
depth 24, visualID 0x2e
depth 24, visualID 0x2f
depth 24, visualID 0x30
depth 24, visualID 0x31
depth 24, visualID 0x32
depth 24, visualID 0x33
depth 24, visualID 0x34
depth 24, visualID 0x35
depth 24, visualID 0x36
depth 24, visualID 0x37
depth 24, visualID 0x38
depth 24, visualID 0x39
depth 24, visualID 0x3a
depth 24, visualID 0x3b
depth 24, visualID 0x3c
depth 24, visualID 0x3d
depth 24, visualID 0x3e
depth 24, visualID 0x3f
depth 24, visualID 0x40
depth 24, visualID 0x41
depth 24, visualID 0x42
depth 24, visualID 0x43
depth 24, visualID 0x44
depth 24, visualID 0x45
depth 24, visualID 0x46
depth 24, visualID 0x47
depth 24, visualID 0x48
depth 24, visualID 0x49
depth 24, visualID 0x4a
depth 24, visualID 0x4b
depth 24, visualID 0x4c
depth 24, visualID 0x4d
depth 24, visualID 0x4e
depth 24, visualID 0x4f
depth 24, visualID 0x50
depth 24, visualID 0x51
depth 24, visualID 0x52
depth 24, visualID 0x53
depth 24, visualID 0x54
depth 24, visualID 0x55
depth 24, visualID 0x56
depth 24, visualID 0x57
depth 24, visualID 0x58
depth 24, visualID 0x59
depth 24, visualID 0x5a
depth 24, visualID 0x5b
depth 24, visualID 0x5c
depth 24, visualID 0x5d
depth 24, visualID 0x5e
depth 24, visualID 0x5f
depth 24, visualID 0x60
depth 24, visualID 0x61
depth 24, visualID 0x62
number of attributes: 12
“XV_SET_DEFAULTS” (range 0 to 1)
client settable attribute
“XV_AUTOPAINT_COLORKEY” (range 0 to 1)
client settable attribute
client gettable attribute (current value is 1)
“XV_COLORKEY” (range 0 to -1)
client settable attribute
client gettable attribute (current value is 30)
“XV_DOUBLE_BUFFER” (range 0 to 1)
client settable attribute
client gettable attribute (current value is 1)
“XV_BRIGHTNESS” (range -1000 to 1000)
client settable attribute
client gettable attribute (current value is 0)
“XV_CONTRAST” (range -1000 to 1000)
client settable attribute
client gettable attribute (current value is 0)
“XV_SATURATION” (range -1000 to 1000)
client settable attribute
client gettable attribute (current value is 0)
“XV_COLOR” (range -1000 to 1000)
client settable attribute
client gettable attribute (current value is 0)
“XV_HUE” (range -1000 to 1000)
client settable attribute
client gettable attribute (current value is 0)
“XV_RED_INTENSITY” (range -1000 to 1000)
client settable attribute
client gettable attribute (current value is 0)
“XV_GREEN_INTENSITY” (range -1000 to 1000)
client settable attribute
client gettable attribute (current value is 0)
“XV_BLUE_INTENSITY” (range -1000 to 1000)
client settable attribute
client gettable attribute (current value is 0)
maximum XvImage size: 2048 x 2048
Number of image formats: 4
id: 0x32595559 (YUY2)
guid: 59555932-0000-0010-8000-00aa00389b71
bits per pixel: 16
number of planes: 1
type: YUV (packed)
id: 0x59565955 (UYVY)
guid: 55595659-0000-0010-8000-00aa00389b71
bits per pixel: 16
number of planes: 1
type: YUV (packed)
id: 0x32315659 (YV12)
guid: 59563132-0000-0010-8000-00aa00389b71
bits per pixel: 12
number of planes: 3
type: YUV (planar)
id: 0x30323449 (I420)
guid: 49343230-0000-0010-8000-00aa00389b71
bits per pixel: 12
number of planes: 3
type: YUV (planar)

Does anybody know what is the correct code to ceate a canvas, then add it to a JPanel for display, then remove it from the JPanel and then add it back again. Whne I try to add it back again, I get the exception. I’ve tried all the jogl binaries and the exception remains.

I’m trying to get a main panel to display the GLCanvas and then when the user selects something, the main panel displays another pane, then when the user switches back, the GLCanvas gets redisplayed.

But once I remove the GLCanvas from the main panel I can’t add it back with the exception occuring.

Any thoughts anbody.

John

[quote]Does anybody know what is the correct code to ceate a canvas, then add it to a JPanel for display, then remove it from the JPanel and then add it back again. Whne I try to add it back again, I get the exception. I’ve tried all the jogl binaries and the exception remains.

I’m trying to get a main panel to display the GLCanvas and then when the user selects something, the main panel displays another pane, then when the user switches back, the GLCanvas gets redisplayed.

But once I remove the GLCanvas from the main panel I can’t add it back with the exception occuring.

Any thoughts anbody.

John
[/quote]
I think this is clearly a bug and you should cook up a simple test scenario for this and submit it to the issue tracker.

Just an FYI: I’ve successfully had 3 GLCanvases displaying simultaneously (each using it’s own FPSAnimator). 1 is in a JWindow, the other are in JFrames. The canvases are never “removed” from their containers, but the containers are opened/closed which starts and stops the animator on demand.

Just thought you might like to hear a positive in the negatives.

Thanks. I’m gonna try to put together a bsic senario that dies and post it for others to try.

Ok. I’ve got the error happening everytime. Can anybody check
and see if it does this with thier setup. Compile the following code.
Run it with ‘java -Djava.library.path=/usr/lib:. -cp .:jogl.jar JInternalFrames’
and when you have the internal frames and the GLcanmvas one,
minimize the GLCanvas one, then double click on the minimized
title bar which should restore the GLCanvas frame and the
system crashes.

import java.awt.;
import java.awt.event.
;
import javax.swing.*;
import java.beans.PropertyVetoException;

import net.java.games.jogl.*;

/** Simple example illustrating the use of internal frames.

public class JInternalFrames extends JFrame
{
public static void main(String[] args)
{
new JInternalFrames();
}

public JInternalFrames()
{
super(“Multiple Document Interface”);
JInternalFrame frame = null;
Container content = getContentPane();
content.setBackground(Color.white);
JDesktopPane desktop = new JDesktopPane();
desktop.setBackground(Color.white);
content.add(desktop, BorderLayout.CENTER);
setSize(450, 400);
for(int i=0; i<5; i++)
{
if (i == 0)
{
frame = new NonSelectableInternalFrame(("Internal Frame " + i),
true, true, true, true);
frame.getContentPane().setLayout(new BorderLayout());
GLCanvas canvas = GLDrawableFactory.getFactory().createGLCanvas(new GLCapabilities());
canvas.setNoAutoRedrawMode(false);
canvas.addGLEventListener((GLEventListener)frame);
// JPanel panel = new
frame.getContentPane().add(canvas, BorderLayout.CENTER);
}
else
{
frame = new JInternalFrame(("Internal Frame " + i),
true, true, true, true);
}
frame.setLocation(i50+10, i50+10);
frame.setSize(200, 150);
frame.setBackground(Color.white);
desktop.add(frame);
frame.moveToFront();
frame.setVisible(true);
}
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent event)
{
System.exit(0);
}
});
setVisible(true);
}

public class NonSelectableInternalFrame
extends JInternalFrame implements GLEventListener
{

  public NonSelectableInternalFrame()
  {
 super();
  }

  public NonSelectableInternalFrame(String title)
  {
 super(title);
  }

  public NonSelectableInternalFrame(String title, boolean resizable)
  {
 super(title, resizable);
  }

  public NonSelectableInternalFrame(String title, boolean resizable, boolean closable)
  {
 super(title, resizable, closable);
  }

  public NonSelectableInternalFrame(String title, boolean resizable, boolean closable, boolean maximizable)
  {
 super(title, resizable, closable, maximizable);
  }

  public NonSelectableInternalFrame(String title, boolean resizable, boolean closable, boolean maximizable, boolean iconifiable)
  {
 super(title, resizable, closable, maximizable, iconifiable);
  }

  public void setSelected(boolean selected) throws PropertyVetoException
  {
 if ((isSelected == selected) || (selected && (isIcon ? !desktopIcon.isShowing() : !isShowing()))) return;
 requestFocus();
  }

  public void moveToFront()
  {
 requestFocus();
  }

  public void display(net.java.games.jogl.GLDrawable gLDrawable)
  {
    gLDrawable.getGL().glClearColor(0f, 1f, 0f, 1f);
    gLDrawable.getGL().glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
  }

  public void displayChanged(net.java.games.jogl.GLDrawable gLDrawable, boolean param, boolean param2) {
  }

  public void init(net.java.games.jogl.GLDrawable gLDrawable) {
  }

  public void reshape(net.java.games.jogl.GLDrawable gLDrawable, int param, int param2, int param3, int param4) {
  }

}
}

That is issue 30. We are working on it.