sdl_instance mutex touch ups

This commit is contained in:
Katharine Chui 2025-05-01 10:35:41 +02:00
parent 0729f7d078
commit 7d19cac8f9
2 changed files with 3 additions and 7 deletions

View file

@ -28,19 +28,17 @@ sdl_instance& sdl_instance::get_instance()
void sdl_instance::pump_events() void sdl_instance::pump_events()
{ {
instance_mutex.lock(); const std::lock_guard<std::mutex> lock(m_instance_mutex);
if (m_initialized) if (m_initialized)
SDL_PumpEvents(); SDL_PumpEvents();
instance_mutex.unlock();
} }
bool sdl_instance::initialize() bool sdl_instance::initialize()
{ {
instance_mutex.lock(); const std::lock_guard<std::mutex> lock(m_instance_mutex);
// Only init SDL once. SDL uses a global state internally... // Only init SDL once. SDL uses a global state internally...
if (m_initialized) if (m_initialized)
{ {
instance_mutex.unlock();
return true; return true;
} }
@ -55,7 +53,6 @@ bool sdl_instance::initialize()
if (!SDL_Init(SDL_INIT_JOYSTICK | SDL_INIT_GAMEPAD)) if (!SDL_Init(SDL_INIT_JOYSTICK | SDL_INIT_GAMEPAD))
{ {
sdl_log.error("Could not initialize! SDL Error: %s", SDL_GetError()); sdl_log.error("Could not initialize! SDL Error: %s", SDL_GetError());
instance_mutex.unlock();
return false; return false;
} }
@ -122,7 +119,6 @@ bool sdl_instance::initialize()
nullptr); nullptr);
m_initialized = true; m_initialized = true;
instance_mutex.unlock();
return true; return true;
} }

View file

@ -15,5 +15,5 @@ public:
private: private:
bool m_initialized = false; bool m_initialized = false;
std::mutex instance_mutex; std::mutex m_instance_mutex;
}; };