Bugfix: fixed an issue that could cause NPE to be thrown, when somehow object or skeleton animation maps were null.

git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@11000 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
experimental
Kae..pl 11 years ago
parent aa5b782021
commit 162808f0cd
  1. 10
      engine/src/blender/com/jme3/asset/BlenderKey.java

@ -553,6 +553,9 @@ public class BlenderKey extends ModelKey {
oc.write(skyGeneratedTextureShape, "sky-generated-texture-shape", SkyGeneratedTextureShape.SPHERE); oc.write(skyGeneratedTextureShape, "sky-generated-texture-shape", SkyGeneratedTextureShape.SPHERE);
oc.write(optimiseTextures, "optimise-textures", false); oc.write(optimiseTextures, "optimise-textures", false);
if (nodeAnimationMap == null) {
oc.write(0, "node-anims-map-size", 0);
} else {
oc.write(nodeAnimationMap.size(), "node-anims-map-size", 0); oc.write(nodeAnimationMap.size(), "node-anims-map-size", 0);
int counter = 0; int counter = 0;
for (Entry<String, List<String>> entry : nodeAnimationMap.entrySet()) { for (Entry<String, List<String>> entry : nodeAnimationMap.entrySet()) {
@ -560,15 +563,20 @@ public class BlenderKey extends ModelKey {
oc.write(entry.getValue().toArray(new String[entry.getValue().size()]), "node-anims-" + counter, null); oc.write(entry.getValue().toArray(new String[entry.getValue().size()]), "node-anims-" + counter, null);
++counter; ++counter;
} }
}
if (skeletonAnimationMap == null) {
oc.write(0, "skeleton-anims-map-size", 0);
} else {
oc.write(skeletonAnimationMap.size(), "skeleton-anims-map-size", 0); oc.write(skeletonAnimationMap.size(), "skeleton-anims-map-size", 0);
counter = 0; int counter = 0;
for (Entry<String, List<String>> entry : skeletonAnimationMap.entrySet()) { for (Entry<String, List<String>> entry : skeletonAnimationMap.entrySet()) {
oc.write(entry.getKey(), "skeleton-anim-" + counter, null); oc.write(entry.getKey(), "skeleton-anim-" + counter, null);
oc.write(entry.getValue().toArray(new String[entry.getValue().size()]), "skeleton-anims-" + counter, null); oc.write(entry.getValue().toArray(new String[entry.getValue().size()]), "skeleton-anims-" + counter, null);
++counter; ++counter;
} }
} }
}
@Override @Override
public void read(JmeImporter e) throws IOException { public void read(JmeImporter e) throws IOException {

Loading…
Cancel
Save