From 18d7bc952d686c806d883a6e7cc80bc2954c1289 Mon Sep 17 00:00:00 2001 From: jprocter Date: Tue, 15 Jun 2010 10:16:55 +0000 Subject: [PATCH] NPE in hashtable constructor --- src/jalview/gui/FeatureRenderer.java | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/src/jalview/gui/FeatureRenderer.java b/src/jalview/gui/FeatureRenderer.java index be83909..e4c6c5c 100755 --- a/src/jalview/gui/FeatureRenderer.java +++ b/src/jalview/gui/FeatureRenderer.java @@ -112,11 +112,24 @@ public class FeatureRenderer */ public FeatureRendererSettings(FeatureRenderer fr) { - this.renderOrder = new String[fr.renderOrder.length]; - System.arraycopy(fr.renderOrder, 0, renderOrder, 0, - renderOrder.length); - this.featureGroups = new Hashtable(fr.featureGroups); - this.featureColours = new Hashtable(fr.featureColours); + renderOrder = null; + featureGroups = new Hashtable(); + featureColours = new Hashtable(); + featureOrder = new Hashtable(); + if (fr.renderOrder != null) + { + this.renderOrder = new String[fr.renderOrder.length]; + System.arraycopy(fr.renderOrder, 0, renderOrder, 0, + renderOrder.length); + } + if (fr.featureGroups != null) + { + this.featureGroups = new Hashtable(fr.featureGroups); + } + if (fr.featureColours != null) + { + this.featureColours = new Hashtable(fr.featureColours); + } Enumeration en = fr.featureColours.keys(); while (en.hasMoreElements()) { @@ -129,7 +142,10 @@ public class FeatureRenderer } } this.transparency = fr.transparency; - this.featureOrder = new Hashtable(fr.featureOrder); + if (fr.featureOrder != null) + { + this.featureOrder = new Hashtable(fr.featureOrder); + } } } @@ -1347,7 +1363,7 @@ public class FeatureRenderer { String type = data[i][0].toString(); setColour(type, data[i][1]); // todo : typesafety - feature color - // interface object + // interface object if (((Boolean) data[i][2]).booleanValue()) { av.featuresDisplayed.put(type, new Integer(getColour(type) -- 1.7.10.2