Fix ss->currentMove when probcutting
authorMarco Costalba <mcostalba@gmail.com>
Sat, 21 Jan 2012 22:30:56 +0000 (23:30 +0100)
committerMarco Costalba <mcostalba@gmail.com>
Sat, 21 Jan 2012 22:30:56 +0000 (23:30 +0100)
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
src/search.cpp

index b9d7f968f9fa6cf46fe4042d7afa48d184a6a700..437eb4a258cf50fb36c14e9fbd3bd0784d63a5dc 100644 (file)
@@ -775,6 +775,7 @@ namespace {
         Depth rdepth = depth - ONE_PLY - 3 * ONE_PLY;
 
         assert(rdepth >= ONE_PLY);
+        assert((ss-1)->currentMove != MOVE_NONE);
 
         MovePicker mp(pos, ttMove, H, pos.captured_piece_type());
         CheckInfo ci(pos);
@@ -782,6 +783,7 @@ namespace {
         while ((move = mp.next_move()) != MOVE_NONE)
             if (pos.pl_move_is_legal(move, ci.pinned))
             {
+                ss->currentMove = move;
                 pos.do_move(move, st, ci, pos.move_gives_check(move, ci));
                 value = -search<NonPV>(pos, ss+1, -rbeta, -rbeta+1, rdepth);
                 pos.undo_move(move);