Syncronize drawPanel, as overviewpanel is threaded
[jalview.git] / src / jalview / gui / FeatureRenderer.java
index d21b39e..fc31fdf 100755 (executable)
@@ -27,6 +27,9 @@ public class FeatureRenderer implements RendererI
     while( e.hasMoreElements() )\r
     {\r
       SequenceFeature sf = (SequenceFeature)e.nextElement();\r
+      if(sf.getStart()>seq.getEnd())\r
+        continue;\r
+\r
       int fstart = seq.findIndex(sf.getStart())-1;\r
       int fend = seq.findIndex(sf.getEnd())-1;\r
 \r
@@ -52,20 +55,21 @@ public class FeatureRenderer implements RendererI
         {\r
           for (int i = fstart; i <= fend; i++)\r
           {\r
-           try{\r
-             g.setColor(Color.blue);\r
+            char s = seq.getSequence().charAt(i);\r
+            if( jalview.util.Comparison.isGap(s) )\r
+              continue;\r
+\r
+            g.setColor(Color.blue);\r
             g.fillRect( (i-start) * width, y1, width, height);\r
 \r
             g.setColor(Color.white);\r
-            char s = seq.getSequence().charAt(i);\r
+\r
             FontMetrics fm = g.getFontMetrics();\r
             int charOffset = (width - fm.charWidth(s)) / 2;\r
             int pady = height / 5;\r
             g.drawString(String.valueOf(s),\r
                          charOffset + x1 + width * (i-start),\r
                          y1 + height - pady);\r
-\r
-           }catch(Exception ex){System.out.println(i+" "+fstart+" "+fend+" " +sf.getDescription()+" "+seq.getName()+" "+seq.getLength()); }\r
           }\r
         }\r
       }\r