diff options
author | Sven Gothel <[email protected]> | 2010-10-13 01:33:22 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2010-10-13 01:33:22 +0200 |
commit | f244d36f76acff2739d7fc4b5b1e0936047d8646 (patch) | |
tree | 67518f87ad82421582cfc34b540fb79397a52b4b | |
parent | 1d265b51d2c52cac33419bf0e6ef35d92dee4550 (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.java | 8 |
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) { |