Chess: Send a ucinewgame command to the engine on starting a new game

This fixes an issue where the engine would crash when starting a new
game playing as white.
This commit is contained in:
Tim Ledbetter 2023-04-26 19:03:48 +01:00 committed by Andreas Kling
parent 536f6b8b34
commit 482f7f9775
2 changed files with 12 additions and 0 deletions

View file

@ -439,6 +439,9 @@ void ChessWidget::reset()
m_board = Chess::Board(); m_board = Chess::Board();
m_side = (get_random<u32>() % 2) ? Chess::Color::White : Chess::Color::Black; m_side = (get_random<u32>() % 2) ? Chess::Color::White : Chess::Color::Black;
m_drag_enabled = true; m_drag_enabled = true;
if (m_engine)
m_engine->start_new_game();
input_engine_move(); input_engine_move();
update(); update();
} }

View file

@ -38,6 +38,15 @@ public:
m_bestmove_callback = move(callback); m_bestmove_callback = move(callback);
} }
void start_new_game()
{
if (!m_connected)
return;
Chess::UCI::UCINewGameCommand ucinewgame_command;
send_command(ucinewgame_command);
}
private: private:
void quit(); void quit();
void connect_to_engine_service(); void connect_to_engine_service();