Merge branch 'develop' into imp/JAL-2775 imp/JAL-2775
authorkiramt <k.mourao@dundee.ac.uk>
Wed, 1 Nov 2017 11:21:47 +0000 (11:21 +0000)
committerkiramt <k.mourao@dundee.ac.uk>
Wed, 1 Nov 2017 11:21:47 +0000 (11:21 +0000)
1  2 
src/jalview/gui/OverviewPanel.java

@@@ -40,8 -40,10 +40,10 @@@ import java.awt.event.MouseAdapter
  import java.awt.event.MouseEvent;
  import java.awt.event.MouseMotionAdapter;
  import java.beans.PropertyChangeEvent;
+ import java.beans.PropertyVetoException;
  
  import javax.swing.JCheckBoxMenuItem;
+ import javax.swing.JInternalFrame;
  import javax.swing.JPanel;
  import javax.swing.JPopupMenu;
  import javax.swing.SwingUtilities;
@@@ -327,22 -329,6 +329,22 @@@ public class OverviewPanel extends JPan
     * changed
     * 
     */
 +  private void setBoxPositionOnly()
 +  {
 +    if (od != null)
 +    {
 +      int oldX = od.getBoxX();
 +      int oldY = od.getBoxY();
 +      int oldWidth = od.getBoxWidth();
 +      int oldHeight = od.getBoxHeight();
 +      od.setBoxPosition(av.getAlignment().getHiddenSequences(),
 +              av.getAlignment().getHiddenColumns());
 +      repaint(oldX - 1, oldY - 1, oldWidth + 2, oldHeight + 2);
 +      repaint(od.getBoxX(), od.getBoxY(), od.getBoxWidth(),
 +              od.getBoxHeight());
 +    }
 +  }
 +
    private void setBoxPosition()
    {
      if (od != null)
    @Override
    public void propertyChange(PropertyChangeEvent evt)
    {
 -    setBoxPosition();
 +    setBoxPositionOnly();
    }
  
    /**
    {
      try
      {
-       av.getRanges().removePropertyChangeListener(this);
+       if (av != null)
+       {
+         av.getRanges().removePropertyChangeListener(this);
+       }
        oviewCanvas.dispose();
+       /*
+        * close the parent frame (which also removes it from the
+        * Desktop Windows menu)
+        */
+       ((JInternalFrame) SwingUtilities.getAncestorOfClass(
+               JInternalFrame.class, (this))).setClosed(true);
+     } catch (PropertyVetoException e)
+     {
+       // ignore
      } finally
      {
        progressPanel = null;