Merge branch 'develop' into features/JAL-2094_colourInterface
[jalview.git] / src / jalview / gui / Desktop.java
index 45a52ee..387a2a9 100644 (file)
@@ -397,7 +397,16 @@ public class Desktop extends jalview.jbgui.GDesktop implements
       @Override
       public void mousePressed(MouseEvent evt)
       {
-        if (evt.isPopupTrigger())
+        if (evt.isPopupTrigger()) // Mac
+        {
+          showPasteMenu(evt.getX(), evt.getY());
+        }
+      }
+
+      @Override
+      public void mouseReleased(MouseEvent evt)
+      {
+        if (evt.isPopupTrigger()) // Windows
         {
           showPasteMenu(evt.getX(), evt.getY());
         }
@@ -825,7 +834,15 @@ public class Desktop extends jalview.jbgui.GDesktop implements
               javax.swing.event.InternalFrameEvent evt)
       {
         PaintRefresher.RemoveComponent(frame);
-        openFrameCount--;
+
+        /*
+         * defensive check to prevent frames being
+         * added half off the window
+         */
+        if (openFrameCount > 0)
+        {
+          openFrameCount--;
+        }
         windowMenu.remove(menuItem);
         JInternalFrame itf = desktop.getSelectedFrame();
         if (itf != null)
@@ -1184,6 +1201,8 @@ public class Desktop extends jalview.jbgui.GDesktop implements
 
     if (groovyConsole != null)
     {
+      // suppress a possible repeat prompt to save script
+      groovyConsole.setDirty(false);
       groovyConsole.exit();
     }
     System.exit(0);
@@ -1804,7 +1823,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements
    * 
    * @param af
    */
-  public void explodeViews(AlignFrame af)
+  public static void explodeViews(AlignFrame af)
   {
     int size = af.alignPanels.size();
     if (size < 2)