diff options
author | Sven Gothel <[email protected]> | 2013-09-22 02:35:11 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2013-09-22 02:35:11 +0200 |
commit | c5bec6b8f5c33a812338dcbe8994546bddf0508b (patch) | |
tree | e48d40f613816cf82980d7cdd7a9e879a2a6b11d /doc/uml | |
parent | 4ef07dc20a3d867feb1c51b4ce22ae3d06094781 (diff) |
Fix Bug 840: DefaultEDTUtil.restart() shall only reuse ThreadGroup (tg) is not destroyed, otherwise use current thread's tg.
With jdk7u40, when re-launching a NEWT applet (JOGLNewtApplet1Run),
i.e. via browser back and forth, the following exception happens:
java.lang.RuntimeException: java.lang.IllegalThreadStateException
at com.jogamp.newt.awt.applet.JOGLNewtApplet1Run.init(JOGLNewtApplet1Run.java:218)
at com.sun.deploy.uitoolkit.impl.awt.AWTAppletAdapter.init(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalThreadStateException
at java.lang.ThreadGroup.addUnstarted(Unknown Source)
at java.lang.Thread.init(Unknown Source)
at java.lang.Thread.<init>(Unknown Source)
at jogamp.newt.DefaultEDTUtil$NEDT.<init>(DefaultEDTUtil.java:280)
at jogamp.newt.DefaultEDTUtil.restart(DefaultEDTUtil.java:91)
at jogamp.newt.DisplayImpl.runOnEDTIfAvail(DisplayImpl.java:231)
at jogamp.newt.WindowImpl.runOnEDTIfAvail(WindowImpl.java:1758)
at jogamp.newt.WindowImpl.setUndecorated(WindowImpl.java:1477)
at com.jogamp.newt.opengl.GLWindow.setUndecorated(GLWindow.java:278)
at com.jogamp.newt.awt.applet.JOGLNewtApplet1Run.init(JOGLNewtApplet1Run.java:188)
... 3 more
This is due to 7u40's changed ThreadGroup (tg) lifecycle, i.e. the tg is destroyed.
In such case, DefaultEDTUtil.restart() shall use the current threads tg.
Diffstat (limited to 'doc/uml')
0 files changed, 0 insertions, 0 deletions