X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fmovegen.cpp;h=caec09aa4f4b31b6121e15bbfe7691a98fe1a23c;hp=ecda2c2d4640cd10b620ec5f85230850d089b6ac;hb=2aebf8eb559a2a8129e6246b75f282fe5d1bc45a;hpb=1ac2f501452ebd9249437b338c98ec398776b71a diff --git a/src/movegen.cpp b/src/movegen.cpp index ecda2c2d..caec09aa 100644 --- a/src/movegen.cpp +++ b/src/movegen.cpp @@ -429,7 +429,7 @@ Move generate_move_if_legal(const Position& pos, Move m, Bitboard pinned) { assert(pos.piece_on(to - pawn_push(us)) == pawn_of_color(them)); // The move is pseudo-legal. If it is legal, return it. - return (pos.move_is_legal(m) ? m : MOVE_NONE); + return (pos.move_is_legal(m, pinned) ? m : MOVE_NONE); } // Castling moves @@ -561,12 +561,12 @@ Move generate_move_if_legal(const Position& pos, Move m, Bitboard pinned) { return MOVE_NONE; } // The move is pseudo-legal. Return it if it is legal. - return (pos.move_is_legal(m) ? m : MOVE_NONE); + return (pos.move_is_legal(m, pinned) ? m : MOVE_NONE); } // Luckly we can handle all the other pieces in one go return ( pos.piece_attacks_square(from, to) - && pos.move_is_legal(m) + && pos.move_is_legal(m, pinned) && !move_promotion(m) ? m : MOVE_NONE); }