From 0d075075bd8c4c55ac9c2086363daef42824be21 Mon Sep 17 00:00:00 2001 From: kappa1 Date: Wed, 12 Jan 2011 20:01:12 +0000 Subject: [PATCH] Fixed null pointer exception in AppletLoader caused by cleaning up resources in the middle of a paint call. Thx to NateS for point this out and suggesting the fix. --- src/java/org/lwjgl/util/applet/AppletLoader.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/java/org/lwjgl/util/applet/AppletLoader.java b/src/java/org/lwjgl/util/applet/AppletLoader.java index 137b8c4a..ace360a1 100644 --- a/src/java/org/lwjgl/util/applet/AppletLoader.java +++ b/src/java/org/lwjgl/util/applet/AppletLoader.java @@ -230,7 +230,7 @@ public class AppletLoader extends Applet implements Runnable, AppletStub { protected String subtaskMessage = ""; /** state of applet loader */ - protected int state = STATE_INIT; + protected volatile int state = STATE_INIT; /** whether lzma is supported */ protected boolean lzmaSupported; @@ -406,6 +406,7 @@ public class AppletLoader extends Applet implements Runnable, AppletStub { public void paint(Graphics g) { // don't paint loader if applet loaded if(state == STATE_DONE) { + cleanUp(); // clean up resources return; } @@ -767,8 +768,6 @@ public class AppletLoader extends Applet implements Runnable, AppletStub { switchApplet(); state = STATE_DONE; - // clean up resources - cleanUp(); } catch (AccessControlException ace) { fatalErrorOccured(ace.getMessage(), ace); certificateRefused = true;