From de3d22e2305034a4e4c2a5dd6f63e5b90827815a Mon Sep 17 00:00:00 2001 From: kappa1 Date: Sat, 22 Jan 2011 18:08:21 +0000 Subject: [PATCH] AppletLoader - Fix for a crash on some platforms before the permissions dialog appears, this is because the relevant part of the code needed to be run on the EDT. --- .../org/lwjgl/util/applet/AppletLoader.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/java/org/lwjgl/util/applet/AppletLoader.java b/src/java/org/lwjgl/util/applet/AppletLoader.java index 5ba7c452..71391e4a 100644 --- a/src/java/org/lwjgl/util/applet/AppletLoader.java +++ b/src/java/org/lwjgl/util/applet/AppletLoader.java @@ -35,6 +35,7 @@ import java.applet.Applet; import java.applet.AppletStub; import java.awt.BorderLayout; import java.awt.Color; +import java.awt.EventQueue; import java.awt.FontMetrics; import java.awt.Graphics; import java.awt.Image; @@ -765,10 +766,18 @@ public class AppletLoader extends Applet implements Runnable, AppletStub { setLWJGLProperties(); // switch to LWJGL Applet - switchApplet(); - - setState(STATE_DONE); - repaint(); + EventQueue.invokeAndWait(new Runnable() { + public void run() { + try { + switchApplet(); + } catch (Exception e) { + fatalErrorOccured("This occurred while '" + getDescriptionForState() + "'", e); + } + setState(STATE_DONE); + repaint(); + } + }); + } catch (AccessControlException ace) { fatalErrorOccured(ace.getMessage(), ace); certificateRefused = true;