mirror of
https://github.com/dolphin-emu/dolphin
synced 2024-07-01 07:54:33 +00:00
Compare commits
2 Commits
64d0805839
...
37a9019bca
Author | SHA1 | Date | |
---|---|---|---|
|
37a9019bca | ||
|
917d32d921 |
|
@ -269,16 +269,20 @@ bool AchievementManager::CanPause()
|
|||
|
||||
void AchievementManager::DoIdle()
|
||||
{
|
||||
std::thread([]() {
|
||||
while (Core::GetState(*AchievementManager::GetInstance().m_system) == Core::State::Paused &&
|
||||
AchievementManager::GetInstance().m_background_execution_allowed)
|
||||
std::thread([this]() {
|
||||
while (true)
|
||||
{
|
||||
Common::SleepCurrentThread(1000);
|
||||
std::lock_guard lg{AchievementManager::GetInstance().m_lock};
|
||||
auto* client = AchievementManager::GetInstance().m_client;
|
||||
if (!client || !AchievementManager::GetInstance().IsGameLoaded())
|
||||
std::lock_guard lg{m_lock};
|
||||
if (!m_system || Core::GetState(*m_system) != Core::State::Paused)
|
||||
return;
|
||||
rc_client_idle(client);
|
||||
if (!m_background_execution_allowed)
|
||||
return;
|
||||
Core::QueueHostJob([this](Core::System& system) {
|
||||
if (!m_client || !IsGameLoaded())
|
||||
return;
|
||||
rc_client_idle(m_client);
|
||||
});
|
||||
}
|
||||
}).detach();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user