NPE in hashtable constructor
authorjprocter <Jim Procter>
Tue, 15 Jun 2010 10:16:55 +0000 (10:16 +0000)
committerjprocter <Jim Procter>
Tue, 15 Jun 2010 10:16:55 +0000 (10:16 +0000)
src/jalview/gui/FeatureRenderer.java

index be83909..e4c6c5c 100755 (executable)
@@ -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)