summaryrefslogtreecommitdiffstats
path: root/src/newt/classes/jogamp
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2013-07-05 11:32:12 +0200
committerSven Gothel <[email protected]>2013-07-05 11:32:12 +0200
commitdec4b02fe4b93028c85de6a56b6af79601042d6e (patch)
tree7f77c596768734ee4fd10d0a5e38eb5574906912 /src/newt/classes/jogamp
parentb9a24308f3ebc6fae9ca79f6020970945936feab (diff)
NEWT Display.create: If reusing an existing instance, ensure EDT is running!
Diffstat (limited to 'src/newt/classes/jogamp')
-rw-r--r--src/newt/classes/jogamp/newt/DisplayImpl.java9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/newt/classes/jogamp/newt/DisplayImpl.java b/src/newt/classes/jogamp/newt/DisplayImpl.java
index bb493cbbd..09ea05e88 100644
--- a/src/newt/classes/jogamp/newt/DisplayImpl.java
+++ b/src/newt/classes/jogamp/newt/DisplayImpl.java
@@ -77,13 +77,14 @@ public abstract class DisplayImpl extends Display {
/** Make sure to reuse a Display with the same name */
public static Display create(String type, String name, final long handle, boolean reuse) {
try {
- Class<?> displayClass = getDisplayClass(type);
- DisplayImpl display = (DisplayImpl) displayClass.newInstance();
+ final Class<?> displayClass = getDisplayClass(type);
+ final DisplayImpl display = (DisplayImpl) displayClass.newInstance();
name = display.validateDisplayName(name, handle);
synchronized(displayList) {
if(reuse) {
- Display display0 = Display.getLastDisplayOf(type, name, -1, true /* shared only */);
+ final Display display0 = Display.getLastDisplayOf(type, name, -1, true /* shared only */);
if(null != display0) {
+ display0.setEDTUtil(display0.getEDTUtil()); // ensures EDT is running
if(DEBUG) {
System.err.println("Display.create() REUSE: "+display0+" "+getThreadName());
}
@@ -99,7 +100,7 @@ public abstract class DisplayImpl extends Display {
display.hashCode = display.fqname.hashCode();
Display.addDisplay2List(display);
}
- display.setEDTUtil(display.edtUtil); // device's default if EDT is used, or null
+ display.setEDTUtil(display.edtUtil); // device's default if EDT is used, or null - ensures EDT is running
if(DEBUG) {
System.err.println("Display.create() NEW: "+display+" "+getThreadName());