From 331f50278b1bf09789672ab383311a9562682afc Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Wed, 30 Jul 2025 17:53:36 +0800 Subject: Assemble Discord Activity Details only once by saving it to a static global string for reuse. --- indra/newview/llappviewer.cpp | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'indra/newview/llappviewer.cpp') diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index ec03377ccb..252c3adec0 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -283,6 +283,7 @@ using namespace LL; #include static std::shared_ptr gDiscordClient; static uint64_t gDiscordTimestampsStart; +static std::string gDiscordActivityDetails; static int32_t gDiscordPartyCurrentSize; static int32_t gDiscordPartyMaxSize; #endif @@ -6041,13 +6042,16 @@ void LLAppViewer::updateDiscordActivity() static LLCachedControl show_details(gSavedSettings, "ShowDiscordActivityDetails", false); if (show_details) { - LLAvatarName av_name; - LLAvatarNameCache::get(gAgent.getID(), &av_name); - auto name = av_name.getUserName(); - auto displayName = av_name.getDisplayName(); - if (name != displayName) - name = displayName + " (" + name + ")"; - activity.SetDetails(name); + if (gDiscordActivityDetails.empty()) + { + LLAvatarName av_name; + LLAvatarNameCache::get(gAgent.getID(), &av_name); + gDiscordActivityDetails = av_name.getUserName(); + auto displayName = av_name.getDisplayName(); + if (gDiscordActivityDetails != displayName) + gDiscordActivityDetails = displayName + " (" + gDiscordActivityDetails + ")"; + } + activity.SetDetails(gDiscordActivityDetails); } static LLCachedControl show_state(gSavedSettings, "ShowDiscordActivityState", false); -- cgit v1.2.3