[COMMITTED] SkinNode.removeGeometry() bug

When SkinNode removes child mesh, it doesn't decrease cache length

and it causes ArrayIndexOutOfException when update is called.



Index: src/com/jme/animation/SkinNode.java
===================================================================
--- src/com/jme/animation/SkinNode.java   (revision 4097)
+++ src/com/jme/animation/SkinNode.java   (working copy)
@@ -542,7 +542,9 @@
     
     @SuppressWarnings("unchecked")
     public void removeGeometry(int geomIndex) {
-        ArrayList<BoneInfluence>[][] newCache = new ArrayList[skins.getQuantity()][];
+       if (geomIndex >= cache.length)
+          return;
+        ArrayList<BoneInfluence>[][] newCache = new ArrayList[skins.getQuantity()-1][];
         for (int x = 0; x < cache.length-1; x++) {
             if (x < geomIndex)
                 newCache[x] = cache[x];

looks like a good catch to me :slight_smile:



should this be tested?

I'm using this method now, and currently no problem with this  :smiley: