diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPlugin.java b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPlugin.java index 215a533d..f7ec2534 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPlugin.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPlugin.java @@ -100,17 +100,24 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner { canvasPanel = new CanvasPanel(plugInPort); canvasPanel.addMouseListener(new MouseAdapter() { + private boolean processedPressed = false; + @Override public void mousePressed(MouseEvent e) { canvasPanel.requestFocus(); mouseReleased(e); + processedPressed = true; } @Override public void mouseReleased(final MouseEvent e) { - plugInPort.mouseClicked(e.getPoint(), e.getButton(), e - .isControlDown(), e.isShiftDown(), e.isAltDown(), e - .getClickCount()); + if (processedPressed) { + processedPressed = false; + } else { + plugInPort.mouseClicked(e.getPoint(), e.getButton(), e + .isControlDown(), e.isShiftDown(), e + .isAltDown(), e.getClickCount()); + } // Invoke the rest of the code later so we get the chance to // process selection messages. SwingUtilities.invokeLater(new Runnable() { @@ -176,14 +183,6 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner { .isShiftDown(), e.isAltDown()); } }); - - canvasPanel.addMouseListener(new MouseAdapter() { - - @Override - public void mouseClicked(MouseEvent e) { - - } - }); } return canvasPanel; }