diff options
author | Sven Gothel <[email protected]> | 2013-07-05 11:32:12 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2013-07-05 11:32:12 +0200 |
commit | dec4b02fe4b93028c85de6a56b6af79601042d6e (patch) | |
tree | 7f77c596768734ee4fd10d0a5e38eb5574906912 /src/newt | |
parent | b9a24308f3ebc6fae9ca79f6020970945936feab (diff) |
NEWT Display.create: If reusing an existing instance, ensure EDT is running!
Diffstat (limited to 'src/newt')
-rw-r--r-- | src/newt/classes/jogamp/newt/DisplayImpl.java | 9 |
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()); |