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

index f784600..585e0a2 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);
+      }
     }
   }