aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2010-10-13 01:33:22 +0200
committerSven Gothel <[email protected]>2010-10-13 01:33:22 +0200
commitf244d36f76acff2739d7fc4b5b1e0936047d8646 (patch)
tree67518f87ad82421582cfc34b540fb79397a52b4b
parent1d265b51d2c52cac33419bf0e6ef35d92dee4550 (diff)
Drop to be enqueued NEWTEvent if EDT is already dead/stopped. Thx Steve for the threaddump
-rw-r--r--src/newt/classes/com/jogamp/newt/impl/DisplayImpl.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/newt/classes/com/jogamp/newt/impl/DisplayImpl.java b/src/newt/classes/com/jogamp/newt/impl/DisplayImpl.java
index eeb0b2504..0d9e295bd 100644
--- a/src/newt/classes/com/jogamp/newt/impl/DisplayImpl.java
+++ b/src/newt/classes/com/jogamp/newt/impl/DisplayImpl.java
@@ -346,6 +346,14 @@ public abstract class DisplayImpl extends Display {
}
public void enqueueEvent(boolean wait, NEWTEvent e) {
+ if(!isEDTRunning()) {
+ // oops .. we are already dead
+ if(DEBUG) {
+ Throwable t = new Throwable("EDT already stopped: wait:="+wait+", "+e);
+ t.printStackTrace();
+ }
+ return;
+ }
Object lock = new Object();
NEWTEventTask eTask = new NEWTEventTask(e, wait?lock:null);
synchronized(lock) {