]> git.sesse.net Git - stockfish/blobdiff - src/search.cpp
Bug fix for discovered checks in connected_moves().
[stockfish] / src / search.cpp
index 12259bafb6f595f5c05c5bba550367aa6b4f866c..31aea4668e1dc622fb08bf2a1072f907e8da68e2 100644 (file)
@@ -1109,7 +1109,7 @@ namespace {
     {
       assert(move_is_ok(move));
 
-      bool singleReply = (isCheck && mp.number_of_moves() == 1);
+      bool singleReply = (isCheck && mp.number_of_evasions() == 1);
       bool moveIsCheck = pos.move_is_check(move, dcCandidates);
       bool moveIsCapture = pos.move_is_capture(move);
 
@@ -1366,7 +1366,7 @@ namespace {
     {
       assert(move_is_ok(move));
 
-      bool singleReply = (isCheck && mp.number_of_moves() == 1);
+      bool singleReply = (isCheck && mp.number_of_evasions() == 1);
       bool moveIsCheck = pos.move_is_check(move, dcCandidates);
       bool moveIsCapture = pos.move_is_capture(move);
 
@@ -2185,7 +2185,7 @@ namespace {
     // Case 5: Discovered check, checking piece is the piece moved in m1
     if (   piece_is_slider(pos.piece_on(t1))
         && bit_is_set(squares_between(t1, pos.king_square(pos.side_to_move())), f2)
-        && !bit_is_set(squares_between(t2, pos.king_square(pos.side_to_move())), t2))
+        && !bit_is_set(squares_between(t1, pos.king_square(pos.side_to_move())), t2))
     {
         Bitboard occ = pos.occupied_squares();
         Color us = pos.side_to_move();