JAL-2602 check for null or empty description when copying consensus
authorgmungoc <g.m.carstairs@dundee.ac.uk>
Tue, 27 Jun 2017 13:03:09 +0000 (14:03 +0100)
committergmungoc <g.m.carstairs@dundee.ac.uk>
Tue, 27 Jun 2017 13:03:09 +0000 (14:03 +0100)
src/jalview/gui/AlignViewport.java

index 86e1144..288f261 100644 (file)
@@ -34,6 +34,7 @@ import jalview.commands.CommandI;
 import jalview.datamodel.AlignedCodonFrame;
 import jalview.datamodel.Alignment;
 import jalview.datamodel.AlignmentI;
+import jalview.datamodel.Annotation;
 import jalview.datamodel.ColumnSelection;
 import jalview.datamodel.HiddenColumns;
 import jalview.datamodel.PDBEntry;
@@ -330,15 +331,18 @@ public class AlignViewport extends AlignmentViewport implements
     StringBuffer seqs = new StringBuffer();
     for (int i = 0; i < consensus.annotations.length; i++)
     {
-      if (consensus.annotations[i] != null)
+      Annotation annotation = consensus.annotations[i];
+      if (annotation != null)
       {
-        if (consensus.annotations[i].description.charAt(0) == '[')
+        String description = annotation.description;
+        if (description != null && description.startsWith("["))
         {
-          seqs.append(consensus.annotations[i].description.charAt(1));
+          // consensus is a tie - just pick the first one
+          seqs.append(description.charAt(1));
         }
         else
         {
-          seqs.append(consensus.annotations[i].displayCharacter);
+          seqs.append(annotation.displayCharacter);
         }
       }
     }