Explorar o código

fixed the NPE with controls

javasabr %!s(int64=9) %!d(string=hai) anos
pai
achega
f354343e47
Modificáronse 1 ficheiros con 6 adicións e 0 borrados
  1. 6 0
      jme3-core/src/main/java/com/jme3/scene/Spatial.java

+ 6 - 0
jme3-core/src/main/java/com/jme3/scene/Spatial.java

@@ -1635,6 +1635,12 @@ public abstract class Spatial implements Savable, Cloneable, Collidable, Cloneab
         //controls = ic.readSavableArrayList("controlsList", null));
         controls.addAll(0, ic.readSavableArrayList("controlsList", null));
 
+        // remove all controls which wasn't loaded.
+        for (Iterator<Control> iterator = controls.iterator(); iterator.hasNext(); ) {
+            final Control control = iterator.next();
+            if(control == null) iterator.remove();
+        }
+
         userData = (HashMap<String, Savable>) ic.readStringSavableMap("user_data", null);
     }