JAL-2759 Add missing hiddenColumns empty check
authorkiramt <k.mourao@dundee.ac.uk>
Tue, 30 Jan 2018 15:56:59 +0000 (15:56 +0000)
committerkiramt <k.mourao@dundee.ac.uk>
Tue, 30 Jan 2018 15:56:59 +0000 (15:56 +0000)
src/jalview/datamodel/HiddenColumns.java
test/jalview/datamodel/HiddenColumnsTest.java

index c40c105..17d3fe4 100644 (file)
@@ -682,16 +682,19 @@ public class HiddenColumns
     {
       LOCK.readLock().lock();
 
-      int regionindex = cursor.findRegionForColumn(column, false)
-              .getRegionIndex();
-      if (regionindex > -1 && regionindex < hiddenColumns.size())
+      if (!hiddenColumns.isEmpty())
       {
-        int[] region = hiddenColumns.get(regionindex);
-        // already know that column <= region[1] as cursor returns containing
-        // region or region to right
-        if (column >= region[0])
+        int regionindex = cursor.findRegionForColumn(column, false)
+                .getRegionIndex();
+        if (regionindex > -1 && regionindex < hiddenColumns.size())
         {
-          return false;
+          int[] region = hiddenColumns.get(regionindex);
+          // already know that column <= region[1] as cursor returns containing
+          // region or region to right
+          if (column >= region[0])
+          {
+            return false;
+          }
         }
       }
       return true;
index e4aa8e2..38536c8 100644 (file)
@@ -456,6 +456,8 @@ public class HiddenColumnsTest
   public void testIsVisible()
   {
     HiddenColumns cs = new HiddenColumns();
+    assertTrue(cs.isVisible(5));
+
     cs.hideColumns(2, 4);
     cs.hideColumns(6, 7);
     assertTrue(cs.isVisible(0));