JAL-2759 fix getHiddenOffset iterating backwards
[jalview.git] / src / jalview / datamodel / HiddenColumnsCursor.java
index 44ceb2a..7fa96c1 100644 (file)
@@ -87,8 +87,8 @@ public class HiddenColumnsCursor
       return -1;
     }
 
-    int index = getIndex();
-    int hiddenCount = getHiddenSoFar();
+    int index = regionIndex;
+    int hiddenCount = hiddenSoFar;
 
     if (index == hiddenColumns.size())
     {
@@ -109,12 +109,13 @@ public class HiddenColumnsCursor
       index = 0;
       hiddenCount = 0;
     }
-    else if (column > lastColumn)
+    /*else if (column > lastColumn)
     {
       index = hiddenColumns.size();
       // TODO resolve here - need full hidden count
-    }
-    else if (column > hiddenColumns.get(index)[1])
+    }*/
+    else if (column > hiddenColumns.get(index)[1]) // includes if column >
+                                                   // lastColumn
     {
       // iterate from where we are now, if we're lucky we'll be close by
       // (but still better than iterating from 0)
@@ -171,7 +172,7 @@ public class HiddenColumnsCursor
     else if (index < hiddenColumns.size())
     {
       while ((index > 0)
-              && (hiddenColumns.get(index)[1] > column + hiddenCount))
+              && (hiddenColumns.get(index - 1)[1] >= column + hiddenCount))
       {
         index--;
         int[] region = hiddenColumns.get(index);