mirror of
https://github.com/stenzek/duckstation.git
synced 2025-06-08 04:25:37 +00:00
System: Fix possible race condition in presence update
This commit is contained in:
parent
b564f928bd
commit
164a353352
@ -4551,7 +4551,7 @@ void System::WarnAboutUnsafeSettings()
|
|||||||
if (g_settings.enable_8mb_ram)
|
if (g_settings.enable_8mb_ram)
|
||||||
{
|
{
|
||||||
append(ICON_EMOJI_WARNING,
|
append(ICON_EMOJI_WARNING,
|
||||||
TRANSLATE_SV("System", "8MB RAM is enabled, this may be incompatible with some games."));
|
TRANSLATE_SV("System", "8MB RAM is enabled, this may be incompatible with some games."));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -5885,15 +5885,14 @@ void System::UpdateRichPresence(bool update_session_time)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const auto lock = Achievements::GetLock();
|
||||||
|
|
||||||
std::string state_string;
|
std::string state_string;
|
||||||
if (Achievements::HasRichPresence())
|
if (Achievements::HasRichPresence())
|
||||||
{
|
rp.state = (state_string = StringUtil::Ellipsise(Achievements::GetRichPresenceString(), 128)).c_str();
|
||||||
const auto lock = Achievements::GetLock();
|
|
||||||
state_string = StringUtil::Ellipsise(Achievements::GetRichPresenceString(), 128);
|
if (const std::string& icon_url = Achievements::GetGameIconURL(); !icon_url.empty())
|
||||||
rp.state = state_string.c_str();
|
rp.largeImageKey = icon_url.c_str();
|
||||||
if (const std::string& icon_url = Achievements::GetGameIconURL(); !icon_url.empty())
|
|
||||||
rp.largeImageKey = icon_url.c_str();
|
|
||||||
}
|
|
||||||
|
|
||||||
dyn_libs::Discord_UpdatePresence(&rp);
|
dyn_libs::Discord_UpdatePresence(&rp);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user