Merge remote-tracking branch 'origin/develop' into feature/JAL-2587
[jalview.git] / src / jalview / datamodel / HiddenSequences.java
index a98b10e..32443d8 100755 (executable)
@@ -157,9 +157,10 @@ public class HiddenSequences
     int absAlignmentIndex = alignment.findIndex(sequence);
     int alignmentIndex = adjustForHiddenSeqs(absAlignmentIndex);
 
-    if (hiddenSequences[alignmentIndex] != null)
+    if (alignmentIndex < 0 || hiddenSequences[alignmentIndex] != null)
     {
       System.out.println("ERROR!!!!!!!!!!!");
+      return;
     }
 
     hiddenSequences[alignmentIndex] = sequence;
@@ -253,7 +254,8 @@ public class HiddenSequences
   }
 
   /**
-   * Convert absolute alignment index to visible alignment index
+   * Convert absolute alignment index to visible alignment index (or -1 if
+   * before the first visible sequence)
    * 
    * @param alignmentIndex
    * @return
@@ -310,7 +312,7 @@ public class HiddenSequences
       return startRow - visibleDistance;
     }
 
-    int index = startRow;
+    int index = Math.min(startRow, hiddenSequences.length - 1);
     int count = 0;
     while ((index > -1) && (count < visibleDistance))
     {