Only call InteractiveRandom when game state mutex is held

This commit is contained in:
Jonathan G Rennison 2021-04-05 21:30:14 +01:00
parent e094b7f1d6
commit 70897c3e5e

View File

@ -136,10 +136,6 @@ void VideoDriver::Tick()
/* Avoid next_draw_tick getting behind more and more if it cannot keep up. */
if (this->next_draw_tick < now - ALLOWED_DRIFT * this->GetDrawInterval()) this->next_draw_tick = now;
/* Keep the interactive randomizer a bit more random by requesting
* new values when-ever we can. */
InteractiveRandom();
this->InputLoop();
/* Check if the fast-forward button is still pressed. */
@ -156,6 +152,10 @@ void VideoDriver::Tick()
std::lock_guard<std::mutex> lock_wait(this->game_thread_wait_mutex);
std::lock_guard<std::mutex> lock_state(this->game_state_mutex);
/* Keep the interactive randomizer a bit more random by requesting
* new values when-ever we can. */
InteractiveRandom();
this->LockVideoBuffer();
if (this->change_blitter != nullptr) {