From bf2656abf3317b6fd3eba3879b4eec720b89f7dd Mon Sep 17 00:00:00 2001 From: shadowislord Date: Wed, 5 Nov 2014 23:11:35 -0500 Subject: [PATCH] If we are loading a material from a J3O file, do not crash on missing material parameters, but log it instead. Fixes test crash on any tests using cornellbox.j3o --- jme3-core/src/main/java/com/jme3/material/Material.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/jme3-core/src/main/java/com/jme3/material/Material.java b/jme3-core/src/main/java/com/jme3/material/Material.java index 489139ef5..158035dc9 100644 --- a/jme3-core/src/main/java/com/jme3/material/Material.java +++ b/jme3-core/src/main/java/com/jme3/material/Material.java @@ -1320,8 +1320,13 @@ public class Material implements CloneableSmartAsset, Cloneable, Savable { param.setName(param.getName().substring(2)); } - checkSetParam(param.getVarType(), param.getName()); - paramValues.put(param.getName(), param); + if (def.getMaterialParam(name) == null) { + logger.log(Level.WARNING, "The material parameter is not defined: " + + name + ". Ignoring.."); + } else { + checkSetParam(param.getVarType(), param.getName()); + paramValues.put(param.getName(), param); + } } if (applyDefaultValues) {