| 2303 | } |
| 2304 | |
| 2305 | public synchronized static void unlockGUI() { |
| 2306 | |
| 2307 | Thread t = new Thread() { |
| 2308 | public void run() { |
| 2309 | // check whether GUI is up |
| 2310 | if(getGuiRoots() == null || getGuiRoots().isEmpty()) return; |
| 2311 | |
| 2312 | if(guiLock != null) { |
| 2313 | guiLock.setVisible(false); |
| 2314 | // completely dispose the dialog (causes it to disappear even if |
| 2315 | // displayed on a non-visible virtual display on Linux) |
| 2316 | // fix for bug 1369096 |
| 2317 | // (http://sourceforge.net/tracker/index.php?func=detail&aid=1369096&group_id=143829&atid=756796) |
| 2318 | guiLock.dispose(); |
| 2319 | } |
| 2320 | guiLock = null; |
| 2321 | } |
| 2322 | }; |
| 2323 | |
| 2324 | /*if (SwingUtilities.isEventDispatchThread()) { |
| 2325 | t.start(); |
| 2326 | } |
| 2327 | else {*/ |
| 2328 | SwingUtilities.invokeLater(t); |
| 2329 | //} |
| 2330 | } |
| 2331 | |
| 2332 | /** Flag to protect Frame title to be changed */ |
| 2333 | private boolean titleChangable = false; |