JAL-2077 check isPopupTrigger in mouseReleased not mouseClicked
authorgmungoc <g.m.carstairs@dundee.ac.uk>
Thu, 1 Sep 2016 13:46:53 +0000 (14:46 +0100)
committergmungoc <g.m.carstairs@dundee.ac.uk>
Thu, 1 Sep 2016 13:46:53 +0000 (14:46 +0100)
(Windows)

src/jalview/gui/TreeCanvas.java

index 279d9ad..6bfea9e 100755 (executable)
@@ -755,6 +755,14 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable,
   @Override
   public void mouseReleased(MouseEvent e)
   {
+    /*
+     * isPopupTrigger is set on mouseReleased on Windows
+     */
+    if (e.isPopupTrigger())
+    {
+      chooseSubtreeColour();
+      e.consume(); // prevent mouseClicked happening
+    }
   }
 
   /**
@@ -792,15 +800,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable,
       return;
     }
 
-    /*
-     * isPopupTrigger is set on mouseReleased /
-     * mouseClicked on Windows
-     */
-    if (evt.isPopupTrigger())
-    {
-      chooseSubtreeColour();
-    }
-    else if (evt.getClickCount() > 1)
+    if (evt.getClickCount() > 1)
     {
       tree.swapNodes(highlightNode);
       tree.reCount(tree.getTopNode());
@@ -887,7 +887,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable,
 
     /*
      * isPopupTrigger is set for mousePressed (Mac)
-     * or mouseReleased / mouseClicked (Windows)
+     * or mouseReleased (Windows)
      */
     if (e.isPopupTrigger())
     {
@@ -967,9 +967,9 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable,
     {
       Color col = new Color((int) (Math.random() * 255),
               (int) (Math.random() * 255), (int) (Math.random() * 255));
-      setColor((SequenceNode) tree.getGroups().elementAt(i), col.brighter());
+      setColor(tree.getGroups().elementAt(i), col.brighter());
 
-      Vector<SequenceNode> l = tree.findLeaves((SequenceNode) tree
+      Vector<SequenceNode> l = tree.findLeaves(tree
               .getGroups().elementAt(i));
 
       Vector<SequenceI> sequences = new Vector<SequenceI>();