VideoBackendBase: Only populate backend info when uninitialized

Prevent potential issues when creating the Graphics window (and thus
calling PopulateBackendInfo) while the core state is Stopping, like we
already do while it's Starting or Running.
This commit is contained in:
Dentomologist 2024-09-27 12:05:01 -07:00
parent 2cb124bd3a
commit dc1b961c09

View File

@ -284,9 +284,9 @@ void VideoBackendBase::ActivateBackend(const std::string& name)
void VideoBackendBase::PopulateBackendInfo(const WindowSystemInfo& wsi)
{
// If the core is running, the backend info will have been populated already. If we did it here,
// the UI thread could race with the GPU thread.
if (Core::IsRunningOrStarting(Core::System::GetInstance()))
// If the core has been initialized, the backend info will have been populated already. Doing it
// again would be unnecessary and could cause the UI thread to race with the GPU thread.
if (Core::GetState(Core::System::GetInstance()) != Core::State::Uninitialized)
return;
g_Config.Refresh();