X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fdatamodel%2FHiddenSequences.java;h=b5efeb49ef117305942c710669f9b2544959196f;hb=77c09ec649cf7f3e9152d93431ff30121885af57;hp=a98b10e9067015dc79ca317b8e4bcd782bf9887b;hpb=136c0793b90b72b928c4d77dc109dd5c644e00d3;p=jalview.git diff --git a/src/jalview/datamodel/HiddenSequences.java b/src/jalview/datamodel/HiddenSequences.java index a98b10e..b5efeb4 100755 --- a/src/jalview/datamodel/HiddenSequences.java +++ b/src/jalview/datamodel/HiddenSequences.java @@ -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; @@ -221,8 +222,8 @@ public class HiddenSequences end = hiddenSequences.length - 1; } - List asequences; - synchronized (asequences = alignment.getSequences()) + List asequences = alignment.getSequences(); + synchronized (asequences) { for (int index = end; index > start; index--) { @@ -238,8 +239,8 @@ public class HiddenSequences } else { - System.out.println(seq.getName() - + " has been deleted whilst hidden"); + System.out.println( + seq.getName() + " has been deleted whilst hidden"); } } } @@ -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)) {