Limit premove cancelling to click on from square
authorH.G. Muller <h.g.muller@hccnet.nl>
Thu, 8 Mar 2012 10:11:03 +0000 (11:11 +0100)
committerH.G. Muller <h.g.muller@hccnet.nl>
Thu, 8 Mar 2012 10:11:03 +0000 (11:11 +0100)
On second thought it might be better to limit cancellation of the
premove to up-clicks on the premove from-square. (Presumably this
will be a static click, but if the down-click was elsewhere, a new move
most have been entered, which would clear the existing premove anyway.)
This allows the user to already grab another piece that he wants to move
after premove, or when premove is rejected.

backend.c

index d1f3b04..f420925 100644 (file)
--- a/backend.c
+++ b/backend.c
@@ -6886,7 +6886,8 @@ LeftClick (ClickType clickType, int xPix, int yPix)
               || x == BOARD_RGHT+1 && y >= gameInfo.holdingsSize) )
        return;
 
               || x == BOARD_RGHT+1 && y >= gameInfo.holdingsSize) )
        return;
 
-    if(gotPremove && clickType == Press) { // user starts something after premove has been entered: abort premove as side effect
+    if(gotPremove && x == premoveFromX && y == premoveFromY && clickType == Release) {
+       // could be static click on premove from-square: abort premove
        gotPremove = 0;
        ClearPremoveHighlights();
     }
        gotPremove = 0;
        ClearPremoveHighlights();
     }