Cas,
Thanks for the files. I plugged them all in, cleared out the old versions in the webstart & browser caches, but unfortunately am still getting the same error as previously posted. Signing my game jar & giving it all permissions continues to work.
Have you previously tested your library without signing the main app? I keep looking at
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/System.html#setSecurityManager(java.lang.SecurityManager)
with suspicion. Maybe my apps unprivileged thread is attempting a priviliged operation through the library call without acquiring the necessary privilege first.
Or maybe not. I don’t really know what I’m doing here. I might try signing my app, but then setting the thread priv’s to sandbox before calling Display.create() to see what happens, if that breaks it.
Alan
/Edit - Subclassed SecurityManager with one that prints all access requests & set it before the first library call. It prints a load of library generated access requests, including one to do with Debug, which judging from the earlier stack trace, is where it is failing. All the printed access requests must be within the security context of the application, rather than the library, which explains the problem. The entire log is too large to post, but most of it is the classloader requesting file read permissions. Here are the edited highlights:
This bit of code:
mode = org.lwjgl.util.Display.setDisplayMode(
org.lwjgl.util.Display.getAvailableDisplayModes(
640, 480, -1, -1, 16, 32, 60, 85),
new String[] {"width=800", "height=600", "bpp="+
Display.getDisplayMode().getBitsPerPixel(), "freq=60"});
mode = Display.getDisplayMode();
(I know that second line is redundant, I’d been hacking the code about & forgot to take it out )
Produces these application context access requests:
C:\Documents and Settings\Alan Waddington\.netbeans\3.6\system\org\lwjgl\util\Display.class
C:\Documents and Settings\Alan Waddington\.netbeans\3.6\system\org\lwjgl\util\Display.class
C:\Program Files\NetBeans3.6\system\org\lwjgl\util\Display.class
C:\Program Files\NetBeans3.6\system\org\lwjgl\util\Display.class
C:\User\Java\SharpShooter16K\org\lwjgl\util\Display.class
...
C:\Program Files\NetBeans3.6\system\org\lwjgl\LWJGLUtil.class
C:\User\Java\SharpShooter16K\org\lwjgl\LWJGLUtil.class
C:\User\Java\SharpShooter16K\org\lwjgl\LWJGLUtil.class
org.lwjgl.util.Debug
os.name
C:\Documents and Settings\Alan Waddington\.netbeans\3.6\system\org\lwjgl\Win32SysImplementation.class
...
C:\User\Java\SharpShooter16K\org\lwjgl\SysImplementation.class
suppressAccessChecks
loadLibrary.lwjgl
C:\j2sdk1.4.2_06\jre\bin\lwjgl.dll
C:\j2sdk1.4.2_06\jre\bin\lwjgl.dll
user.dir
C:\User\Java\SharpShooter16K\lwjgl.dll
C:\User\Java\SharpShooter16K\lwjgl.dll
.\lwjgl.dll
user.dir
os.name
C:\Documents and Settings\Alan Waddington\.netbeans\3.6\system\org\lwjgl\opengl\Win32Display.class
...
C:\User\Java\SharpShooter16K\org\lwjgl\opengl\Win32DisplayPeerInfo.class
suppressAccessChecks
C:\Documents and Settings\Alan Waddington\.netbeans\3.6\system\org\lwjgl\opengl\DisplayMode.class
...
C:\User\Java\SharpShooter16K\org\lwjgl\opengl\DisplayMode.class
shutdownHooks
C:\Documents and Settings\Alan Waddington\.netbeans\3.6\system\org\lwjgl\util\Display$1Sorter.class
...
C:\User\Java\SharpShooter16K\org\lwjgl\util\Display$1Sorter.class
suppressAccessChecks
suppressAccessChecks
suppressAccessChecks
suppressAccessChecks
From the earlier stack trace, I suspect things fall over at
org.lwjgl.util.Debug
/Edit2 Perhaps some privileged actions need wrapping:
http://www.expressnewsindia.com/site/khandwa/Setting%20Privileges%20for%20Extensions.htm
Best wishes, Alan