Summary: | Applets won't work on recall of page [firefox, chrome, safari, IE,..] [Windows, Linux, ..] | ||
---|---|---|---|
Product: | [JogAmp] Jogl | Reporter: | luc bonade <btarba2001> |
Component: | applet | Assignee: | Sven Gothel <sgothel> |
Status: | VERIFIED FIXED | ||
Severity: | blocker | CC: | sgothel, wwalker3 |
Priority: | P1 | ||
Version: | 2 | ||
Hardware: | pc_all | ||
OS: | all | ||
Type: | --- | SCM Refs: |
919aabb77250cb0e272dac228388592d08bf98f5
b6aa455d21fbcfc256ae8f8f4d66493c17e23f4c
|
Workaround: | --- |
Description
luc bonade
2011-07-11 11:31:08 CEST
I confirm similar behavior on Windows 7 64-bit with Safari 5.1. I get this error when I open a new tab and try to launch the applet again, or when I reload the applet twice (the first reload works OK, for some reason): javax.media.opengl.GLException: Surface not ready (lockSurface) at jogamp.opengl.windows.wgl.WindowsWGLGraphicsConfigurationFactory.preselectGraphicsConfiguration(WindowsWGLGraphicsConfigurationFactory.java:239) at jogamp.opengl.windows.wgl.WindowsWGLGraphicsConfiguration.preselectGraphicsConfiguration(WindowsWGLGraphicsConfiguration.java:151) at jogamp.opengl.windows.wgl.awt.WindowsAWTWGLGraphicsConfigurationFactory.chooseGraphicsConfigurationImpl(WindowsAWTWGLGraphicsConfigurationFactory.java:125) at javax.media.nativewindow.GraphicsConfigurationFactory.chooseGraphicsConfiguration(GraphicsConfigurationFactory.java:240) at javax.media.opengl.awt.GLCanvas.chooseGraphicsConfiguration(GLCanvas.java:1004) at javax.media.opengl.awt.GLCanvas.addNotify(GLCanvas.java:528) at java.awt.Container.addImpl(Unknown Source) at java.awt.Container.add(Unknown Source) at name.wadewalker.onetriangleapplet.OneTriangleApplet.init(OneTriangleApplet.java:51) at org.jdesktop.applet.util.JNLPAppletLauncher.startSubApplet(JNLPAppletLauncher.java:1992) at org.jdesktop.applet.util.JNLPAppletLauncher.access$200(JNLPAppletLauncher.java:662) at org.jdesktop.applet.util.JNLPAppletLauncher$5.run(JNLPAppletLauncher.java:1326) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$000(Unknown Source) at java.awt.EventQueue$1.run(Unknown Source) at java.awt.EventQueue$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) Reminds me of the same behavior of one of this/last years JRE on GNU/Linux + FF, which exposed the same behavior if you pressed 'reload'. IFF 'Surface not ready" is caused by "java.net.MalformedURLException: no protocol: ", this must be a Safari/Plugin bug .. since the 1st start works fine. The same bug exist[ed] on Linux w/ FF a while ago .. and is fixed in the plugin code and/or FF, dunno. ? I could reproduce similar bugs w/ Safari and even Chrome (w/ NEWT/Applet). Working on it .. while validating Applet support for all platforms. Even though commits: ad0ba11b0a1d6cb4a113e467420f2f797f1d26cb 77e9d16a3ad5131a2197bb3cad2309827c3a796a Make the NEWT/Applets work already on Windows (all browsers), the AWT/Applet doesn't [recall issue]. Also the lifecycle reset (init/shutdown) w/ Applet's [init/destroy] currently confuses Linux/X11. I currently complete the lifecycle of JOGL/Gluegen. This is the current 'static' initialization sequence: - GLProfile - Platform - JVMUtil - JNILibLoaderBase - TempJarCache - NativeWindowFactory - X11Util - GLDrawableFactory / GLDrawableFactoryImpl - X11GLXDrawableFactory / ... (all platforms) - EGLDrawableFactory - GLContext (context version mapping) shutdown() shall ensure that no resources are bound, as well as the next initialization properly works. Shutdown Sequence: http://jogamp.org/git/?p=jogl.git;a=commit;h=919aabb77250cb0e272dac228388592d08bf98f5 http://jogamp.org/git/?p=jogl.git;a=commit;h=b6aa455d21fbcfc256ae8f8f4d66493c17e23f4c (and actually a few more commit, cleaning up / review result - notably GlueGen TempJarCache) [1] Windows 7 x64 Native/NV, VirtualBox 4.1.6/Chromium(NV): [2] Linux x64 [ubuntu 10/11] [3] MacOSX 10.7 Tested: - AWT Applet w/ GLCanvas (VersionApplet) - NEWT Applet w/ GLWindow (JOGLNewtApplet1Run) - NApplet OK - LApplet OK - JApplet/Dual OK - back/fwd (reload) works Browser: - Internet Explorer [8 and 9] 32bit [1] - Safari 5.1.1 32bit [1], [3] - Firefox [6.0, 8.0.1] 32bit, [11.0a1] 64bit [1], [2], [3] - Chrome [15.0.874.121m, 16.0.912.41] 32bit [1], [2] manually verified |