From 173108c1a8417518e5c9126a74e267a461ae506b Mon Sep 17 00:00:00 2001 From: kruland2607 Date: Mon, 22 Apr 2013 09:23:45 -0500 Subject: [PATCH] Allow setAppearance to accept a null Appearance parameter without throwing NPE. --- .../rocketcomponent/RocketComponent.java | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/core/src/net/sf/openrocket/rocketcomponent/RocketComponent.java b/core/src/net/sf/openrocket/rocketcomponent/RocketComponent.java index fd56b2821..0a09a7da7 100644 --- a/core/src/net/sf/openrocket/rocketcomponent/RocketComponent.java +++ b/core/src/net/sf/openrocket/rocketcomponent/RocketComponent.java @@ -426,17 +426,20 @@ public abstract class RocketComponent implements ChangeSource, Cloneable, Iterab */ public void setAppearance(Appearance appearance) { this.appearance = appearance; - Decal d = this.appearance.getTexture(); - if (d != null) { - d.getImage().addChangeListener(new StateChangeListener() { - - @Override - public void stateChanged(EventObject e) { - fireComponentChangeEvent(ComponentChangeEvent.TEXTURE_CHANGE); - } - - }); + if (this.appearance != null) { + Decal d = this.appearance.getTexture(); + if (d != null) { + d.getImage().addChangeListener(new StateChangeListener() { + + @Override + public void stateChanged(EventObject e) { + fireComponentChangeEvent(ComponentChangeEvent.TEXTURE_CHANGE); + } + + }); + } } + // CHECK - should this be a TEXTURE_CHANGE and not NONFUNCTIONAL_CHANGE? fireComponentChangeEvent(ComponentChangeEvent.NONFUNCTIONAL_CHANGE); }