Sfoglia il codice sorgente

SDK:
- Fix threading in SceneExplorer while opening scene

git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@8033 75d07b2b-3a1a-0410-a2c5-0572b91ccdca

nor..67 14 anni fa
parent
commit
5f44351149

+ 9 - 4
jme3-core/src/com/jme3/gde/core/sceneexplorer/SceneExplorerTopComponent.java

@@ -266,15 +266,20 @@ public final class SceneExplorerTopComponent extends TopComponent implements Exp
 
     public void sceneRequested(SceneRequest request) {
         this.request = request;
-        JmeNode node = request.getJmeNode();
+        final JmeNode node = request.getJmeNode();
         for (Iterator it = materialChangeProviders.values().iterator(); it.hasNext();) {
             MaterialChangeProvider provider = (MaterialChangeProvider) it.next();
             provider.clearMaterialChangeListeners();
         }
         if (node != null) {
-            explorerManager.setRootContext(node);
-            explorerManager.getRootContext().setDisplayName(node.getName());
-            requestVisible();
+            java.awt.EventQueue.invokeLater(new Runnable() {
+
+                public void run() {
+                    explorerManager.setRootContext(node);
+                    explorerManager.getRootContext().setDisplayName(node.getName());
+                    requestVisible();
+                }
+            });
         }
     }