diff --git a/sdk/jme3-core/src/com/jme3/gde/core/assets/AssetData.java b/sdk/jme3-core/src/com/jme3/gde/core/assets/AssetData.java index 33710c3b4..271ab2c7b 100644 --- a/sdk/jme3-core/src/com/jme3/gde/core/assets/AssetData.java +++ b/sdk/jme3-core/src/com/jme3/gde/core/assets/AssetData.java @@ -79,6 +79,10 @@ public class AssetData extends Properties { file.saveAsset(); } + public void closeAsset(){ + file.closeAsset(); + } + public List getAssetList(){ return file.getAssetList(); } diff --git a/sdk/jme3-core/src/com/jme3/gde/core/assets/AssetDataObject.java b/sdk/jme3-core/src/com/jme3/gde/core/assets/AssetDataObject.java index f836d14eb..1f44e76e7 100644 --- a/sdk/jme3-core/src/com/jme3/gde/core/assets/AssetDataObject.java +++ b/sdk/jme3-core/src/com/jme3/gde/core/assets/AssetDataObject.java @@ -227,6 +227,10 @@ public class AssetDataObject extends MultiDataObject { setModified(false); } + public synchronized void closeAsset() { + savable = null; + } + public synchronized AssetKey getAssetKey() { if (assetKey == null) { ProjectAssetManager mgr = getLookup().lookup(ProjectAssetManager.class); diff --git a/sdk/jme3-core/src/com/jme3/gde/core/scene/SceneApplication.java b/sdk/jme3-core/src/com/jme3/gde/core/scene/SceneApplication.java index 424b341f0..1daa957db 100644 --- a/sdk/jme3-core/src/com/jme3/gde/core/scene/SceneApplication.java +++ b/sdk/jme3-core/src/com/jme3/gde/core/scene/SceneApplication.java @@ -31,6 +31,7 @@ import com.jme3.font.BitmapFont; import com.jme3.font.BitmapText; import com.jme3.gde.core.Installer; import com.jme3.gde.core.assets.AssetData; +import com.jme3.gde.core.assets.AssetDataObject; import com.jme3.gde.core.scene.controller.AbstractCameraController; import com.jme3.gde.core.scene.processors.WireProcessor; import com.jme3.gde.core.sceneviewer.SceneViewerTopComponent; @@ -455,6 +456,10 @@ public class SceneApplication extends Application implements LookupProvider { req.setModified(false); } } + if ((request != null) && (request.getDataObject()instanceof AssetDataObject)){ + AssetDataObject obj = (AssetDataObject) request.getDataObject(); + obj.closeAsset(); + } } private void resetCam() {