Jalview 2.6 source licence
[jalview.git] / src / jalview / appletgui / AnnotationPanel.java
index 15b590e..fdd727f 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6)
  * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
  * 
  * This file is part of Jalview.
@@ -104,6 +104,10 @@ public class AnnotationPanel extends Panel implements AdjustmentListener,
   public void actionPerformed(ActionEvent evt)
   {
     AlignmentAnnotation[] aa = av.alignment.getAlignmentAnnotation();
+    if (aa==null)
+    {
+      return;
+    }
     Annotation[] anot = aa[activeRow].annotations;
 
     if (anot.length < av.getColumnSelection().getMax())
@@ -322,13 +326,18 @@ public class AnnotationPanel extends Panel implements AdjustmentListener,
     graphStretch = -1;
     graphStretchY = -1;
     mouseDragging = false;
+    if (needValidating)
+    {
+      ap.validate();
+      needValidating=false;
+    }
     ap.scalePanel.mouseReleased(evt);
   }
 
   public void mouseClicked(MouseEvent evt)
   {
   }
-
+  boolean needValidating=false;
   public void mouseDragged(MouseEvent evt)
   {
     if (graphStretch > -1)
@@ -341,6 +350,7 @@ public class AnnotationPanel extends Panel implements AdjustmentListener,
       }
       graphStretchY = evt.getY();
       adjustPanelHeight();
+      needValidating=true;
       ap.paintAlignment(true);
     }
     else
@@ -443,13 +453,11 @@ public class AnnotationPanel extends Panel implements AdjustmentListener,
         height += aa[i].height;
       }
     }
-    else
+    if (height==0)
     {
       height = 20;
     }
-
     this.setSize(getSize().width, height);
-
     repaint();
 
     return height;