thread off a Filechooser instance on startup to make the dialog open quicker later on.
[jalview.git] / src / jalview / gui / SeqCanvas.java
index 052932b..ad5e052 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.4)
- * Copyright (C) 2008 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Development Version 2.4.1)
+ * Copyright (C) 2009 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
  * 
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -633,7 +633,7 @@ public class SeqCanvas extends JComponent
       int blockStart = startRes;
       int blockEnd = endRes;
 
-      for (int i = 0; i < regions.size(); i++)
+      for (int i = 0; regions!=null && i < regions.size(); i++)
       {
         int[] region = (int[]) regions.elementAt(i);
         int hideStart = region[0];
@@ -694,7 +694,11 @@ public class SeqCanvas extends JComponent
     for (int i = startSeq; i < endSeq; i++)
     {
       nextSeq = av.alignment.getSequenceAt(i);
-
+      if (nextSeq==null)
+      {
+        // occasionally, a race condition occurs such that the alignment row is empty
+        continue;
+      }
       sr.drawSequence(nextSeq, av.alignment.findAllGroups(nextSeq),
               startRes, endRes, offset + ((i - startSeq) * av.charHeight));