diff --git a/Mage.Client/src/main/java/mage/client/plugins/adapters/MageActionCallback.java b/Mage.Client/src/main/java/mage/client/plugins/adapters/MageActionCallback.java index f4103cd8554a..102de5751ac1 100644 --- a/Mage.Client/src/main/java/mage/client/plugins/adapters/MageActionCallback.java +++ b/Mage.Client/src/main/java/mage/client/plugins/adapters/MageActionCallback.java @@ -98,8 +98,8 @@ enum EnlargedWindowState { private MageCard prevCardPanel; private boolean startedDragging; private boolean isDragging; // TODO: remove drag hand code to the hand panels - private Point initialCardPos; - private Point initialMousePos; + private Point initialCardPos = null; + private Point initialMousePos = null; private final Set draggingCards = new HashSet<>(); public MageActionCallback() { @@ -351,6 +351,11 @@ public void mouseDragged(MouseEvent e, TransferData data) { return; } + if (this.initialMousePos == null || this.initialCardPos == null) { + // only allow really mouse pressed, e.g. ignore draft/game update on active card draging/pressing + return; + } + Point mouse = new Point(e.getX(), e.getY()); SwingUtilities.convertPointToScreen(mouse, data.getComponent()); if (!isDragging