Browse Source

Fixes #39 Frozen SDK when a deadlock occurred. This also fixes the fact that a GUI component was instantiated for each j3md file in the project (speed improvement)

MeFisto94 9 years ago
parent
commit
d8501bddb6

+ 5 - 6
jme3-materialeditor/src/com/jme3/gde/materialdefinition/MatDefDataObject.java

@@ -142,7 +142,6 @@ public class MatDefDataObject extends MultiDataObject {
         findAssetManager();
         findAssetManager();
         final MatDefMetaData metaData = new MatDefMetaData(this);
         final MatDefMetaData metaData = new MatDefMetaData(this);
         lookupContents.add(metaData);
         lookupContents.add(metaData);
-        lookupContents.add(new MatDefNavigatorPanel());
         pf.addFileChangeListener(new FileChangeAdapter() {
         pf.addFileChangeListener(new FileChangeAdapter() {
             @Override
             @Override
             public void fileChanged(FileEvent fe) {
             public void fileChanged(FileEvent fe) {
@@ -190,7 +189,7 @@ public class MatDefDataObject extends MultiDataObject {
     public Lookup getLookup() {
     public Lookup getLookup() {
         return lookup;
         return lookup;
     }
     }
-
+    
     @MultiViewElement.Registration(
     @MultiViewElement.Registration(
         displayName = "#LBL_MatDef_EDITOR",
         displayName = "#LBL_MatDef_EDITOR",
     iconBase = "com/jme3/gde/materialdefinition/icons/matdef.png",
     iconBase = "com/jme3/gde/materialdefinition/icons/matdef.png",
@@ -202,10 +201,10 @@ public class MatDefDataObject extends MultiDataObject {
     public static MultiViewEditorElement createEditor(Lookup lkp) {
     public static MultiViewEditorElement createEditor(Lookup lkp) {
         final MatDefDataObject obj = lkp.lookup(MatDefDataObject.class);
         final MatDefDataObject obj = lkp.lookup(MatDefDataObject.class);
         obj.loaded = true;
         obj.loaded = true;
-        MatDefNavigatorPanel nav = obj.getLookup().lookup(MatDefNavigatorPanel.class);
-        if (nav != null) {
-            nav.updateData(obj);
-        }
+        MatDefNavigatorPanel nav = new MatDefNavigatorPanel();
+        obj.lookupContents.add(nav);
+        nav.updateData(obj);
+        
         MultiViewEditorElement ed = new MultiViewEditorElement(lkp) {
         MultiViewEditorElement ed = new MultiViewEditorElement(lkp) {
             KeyListener listener = new KeyListener() {
             KeyListener listener = new KeyListener() {
                 public void keyTyped(KeyEvent e) {
                 public void keyTyped(KeyEvent e) {