fix for arrayoutofbounds bug when secondary structure element extends whole width...
authorjprocter <Jim Procter>
Tue, 19 Aug 2008 13:34:10 +0000 (13:34 +0000)
committerjprocter <Jim Procter>
Tue, 19 Aug 2008 13:34:10 +0000 (13:34 +0000)
src/jalview/appletgui/AnnotationPanel.java
src/jalview/gui/AnnotationPanel.java

index ec5fbd8..909ce78 100755 (executable)
@@ -555,7 +555,7 @@ public class AnnotationPanel
     int lastSSX;
     int iconOffset = av.charHeight / 2;
     boolean validRes = false;
-
+    boolean validEnd = false;
     boolean[] graphGroupDrawn = new boolean[aa.length];
 
     //\u03B2 \u03B1
@@ -765,6 +765,9 @@ public class AnnotationPanel
       if (column >= row.annotations.length)
       {
         column = row.annotations.length - 1;
+        validEnd = false;
+      } else {
+        validEnd = true;
       }
 
       //  x ++;
@@ -812,7 +815,7 @@ public class AnnotationPanel
           case 'E':
             g.setColor(SHEET_COLOUR);
 
-            if (row.annotations[endRes] == null
+            if (!validEnd || row.annotations[endRes] == null
                 || row.annotations[endRes].secondaryStructure != 'E')
             {
               g.fillRect(lastSSX, y + 4 + iconOffset,
index 2226e8b..6371e86 100755 (executable)
@@ -727,7 +727,7 @@ public class AnnotationPanel
     int lastSSX;
     int iconOffset = 0;
     boolean validRes = false;
-
+    boolean validEnd = false;
     boolean[] graphGroupDrawn = new boolean[aa.length];
 
     //\u03B2 \u03B1
@@ -980,6 +980,9 @@ public class AnnotationPanel
       if (column >= row.annotations.length)
       {
         column = row.annotations.length - 1;
+        validEnd = false;
+      } else {
+        validEnd = true;
       }
 
       //  x ++;
@@ -1027,7 +1030,7 @@ public class AnnotationPanel
           case 'E':
             g.setColor(SHEET_COLOUR);
 
-            if (row.annotations[endRes] == null
+            if (!validEnd || row.annotations[endRes] == null
                 || row.annotations[endRes].secondaryStructure != 'E')
             {
               g.fillRect(lastSSX, y + 4 + iconOffset,