Browse Source

AssetDataObject: Finalize the ProgressBar when an Exception has occured (Fixes the endless "Loading Model...." when it has crashed)

MeFisto94 8 years ago
parent
commit
c875fc14b8
1 changed files with 11 additions and 7 deletions
  1. 11 7
      jme3-core/src/com/jme3/gde/core/assets/AssetDataObject.java

+ 11 - 7
jme3-core/src/com/jme3/gde/core/assets/AssetDataObject.java

@@ -207,7 +207,7 @@ public class AssetDataObject extends MultiDataObject {
      * Saves this asset, when a saveExtension is set, saves it as a brother file
      * with that extension.
      *
-     * @throws IOException
+     * @throws IOException When we cannot write to the file for unknown reasons
      */
     public synchronized void saveAsset() throws IOException {
         if (savable == null) {
@@ -239,9 +239,10 @@ public class AssetDataObject extends MultiDataObject {
             if (out != null) {
                 out.close();
             }
+            
+            progressHandle.finish();
+            setModified(false);
         }
-        progressHandle.finish();
-        setModified(false);
         logger.log(Level.INFO, "File {0} saved successfully", getPrimaryFile().getNameExt());
     }
 
@@ -348,10 +349,10 @@ public class AssetDataObject extends MultiDataObject {
 
     protected static class AssetListListener implements AssetEventListener {
 
-        private AssetDataObject obj;
-        private List<FileObject> assetList;
-        private List<AssetKey> assetKeyList;
-        private List<AssetKey> failedList;
+        private final AssetDataObject obj;
+        private final List<FileObject> assetList;
+        private final List<AssetKey> assetKeyList;
+        private final List<AssetKey> failedList;
         private Thread loadingThread;
 
         public AssetListListener(AssetDataObject obj, List<FileObject> assetList, List<AssetKey> assetKeyList, List<AssetKey> failedList) {
@@ -361,9 +362,11 @@ public class AssetDataObject extends MultiDataObject {
             this.failedList = failedList;
         }
 
+        @Override
         public void assetLoaded(AssetKey ak) {
         }
 
+        @Override
         public void assetRequested(AssetKey ak) {
             ProjectAssetManager pm = obj.getLookup().lookup(ProjectAssetManager.class);
             if (pm == null || loadingThread != Thread.currentThread()) {
@@ -376,6 +379,7 @@ public class AssetDataObject extends MultiDataObject {
             }
         }
 
+        @Override
         public void assetDependencyNotFound(AssetKey ak, AssetKey ak1) {
             ProjectAssetManager pm = obj.getLookup().lookup(ProjectAssetManager.class);
             if (pm == null || loadingThread != Thread.currentThread()) {