diff --git a/sdk/jme3-materialeditor/src/com/jme3/gde/materialdefinition/EditableMatDefFile.java b/sdk/jme3-materialeditor/src/com/jme3/gde/materialdefinition/EditableMatDefFile.java index e86f78716..53a959d2e 100644 --- a/sdk/jme3-materialeditor/src/com/jme3/gde/materialdefinition/EditableMatDefFile.java +++ b/sdk/jme3-materialeditor/src/com/jme3/gde/materialdefinition/EditableMatDefFile.java @@ -97,9 +97,11 @@ public class EditableMatDefFile { lock = matDefFile.lock(); List sta = BlockLanguageParser.parse(obj.getPrimaryFile().getInputStream()); matDefStructure = new MatDefBlock(sta.get(0)); - AssetKey matDefKey = new AssetKey(assetManager.getRelativeAssetPath(assetManager.getRelativeAssetPath(matDefFile.getPath()))); - assetManager.deleteFromCache(matDefKey); - materialDef = (MaterialDef) assetManager.loadAsset(assetManager.getRelativeAssetPath(matDefFile.getPath())); + if(assetManager!=null){ + AssetKey matDefKey = new AssetKey(assetManager.getRelativeAssetPath(assetManager.getRelativeAssetPath(matDefFile.getPath()))); + assetManager.deleteFromCache(matDefKey); + materialDef = (MaterialDef) assetManager.loadAsset(assetManager.getRelativeAssetPath(matDefFile.getPath())); + } lock.releaseLock(); } catch (Exception ex) { Throwable t = ex.getCause(); diff --git a/sdk/jme3-materialeditor/src/com/jme3/gde/materialdefinition/MatDefDataObject.java b/sdk/jme3-materialeditor/src/com/jme3/gde/materialdefinition/MatDefDataObject.java index d61c0b662..74a32a2f0 100644 --- a/sdk/jme3-materialeditor/src/com/jme3/gde/materialdefinition/MatDefDataObject.java +++ b/sdk/jme3-materialeditor/src/com/jme3/gde/materialdefinition/MatDefDataObject.java @@ -36,6 +36,8 @@ import com.jme3.gde.materialdefinition.navigator.MatDefNavigatorPanel; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.io.IOException; +import javax.swing.JEditorPane; +import javax.swing.text.EditorKit; import org.netbeans.api.project.Project; import org.netbeans.api.project.ProjectManager; import org.netbeans.core.spi.multiview.MultiViewElement; @@ -52,6 +54,7 @@ import org.openide.loaders.DataObject; import org.openide.loaders.DataObjectExistsException; import org.openide.loaders.MultiDataObject; import org.openide.loaders.MultiFileLoader; +import org.openide.text.CloneableEditorSupport; import org.openide.util.Lookup; import org.openide.util.NbBundle.Messages; import org.openide.util.lookup.AbstractLookup; @@ -228,7 +231,10 @@ public class MatDefDataObject extends MultiDataObject { @Override public void componentDeactivated() { super.componentDeactivated(); - getEditorPane().removeKeyListener(listener); + JEditorPane editorPane = getEditorPane(); + if (editorPane != null) { + getEditorPane().removeKeyListener(listener); + } } @Override @@ -245,7 +251,9 @@ public class MatDefDataObject extends MultiDataObject { @Override protected void handleDelete() throws IOException { MatDefMetaData metaData = lookup.lookup(MatDefMetaData.class); - metaData.cleanup(); + if(metaData != null){ + metaData.cleanup(); + } super.handleDelete(); } diff --git a/sdk/jme3-materialeditor/src/com/jme3/gde/materialdefinition/MatDefMetaData.java b/sdk/jme3-materialeditor/src/com/jme3/gde/materialdefinition/MatDefMetaData.java index e3879af01..3d08f176a 100644 --- a/sdk/jme3-materialeditor/src/com/jme3/gde/materialdefinition/MatDefMetaData.java +++ b/sdk/jme3-materialeditor/src/com/jme3/gde/materialdefinition/MatDefMetaData.java @@ -390,7 +390,9 @@ public class MatDefMetaData { FileObject jmedataFolder = root.getFileObject("/nbproject/jme3Data"); if (jmedataFolder == null) { jmedataFolder = root.getFileObject("/nbproject"); - jmedataFolder = jmedataFolder.createFolder("jme3Data"); + if(jmedataFolder!=null){ + jmedataFolder = jmedataFolder.createFolder("jme3Data"); + } } return jmedataFolder; }