X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=moves.c;h=af04d1eb10ec77c4703837113bbc83ab09af02a9;hb=558d1df7e18bf07e0deb7b2baed0a0d421ed49ab;hp=463935d56e2e822dd145a66729443bd0cb1348ee;hpb=de0ee08250c127975c1769b1e2f6bd078e39632a;p=xboard.git diff --git a/moves.c b/moves.c index 463935d..af04d1e 100644 --- a/moves.c +++ b/moves.c @@ -1223,12 +1223,15 @@ void DisambiguateCallback(board, flags, kind, rf, ff, rt, ft, closure) (cl->ftIn == -1 || cl->ftIn == ft || wildCard)) { cl->count++; - cl->piece = board[rf][ff]; - cl->rf = rf; - cl->ff = ff; - cl->rt = wildCard ? cl->rtIn : rt; - cl->ft = wildCard ? cl->ftIn : ft; - cl->kind = kind; + if(cl->count == 1 || board[rt][ft] != EmptySquare) { + // [HGM] oneclick: if multiple moves, be sure we remember capture + cl->piece = board[rf][ff]; + cl->rf = rf; + cl->ff = ff; + cl->rt = wildCard ? cl->rtIn : rt; + cl->ft = wildCard ? cl->ftIn : ft; + cl->kind = kind; + } cl->captures += (board[cl->rt][cl->ft] != EmptySquare); // [HGM] oneclick: count captures } }