diff --git a/indra/newview/llgroupmgr.cpp b/indra/newview/llgroupmgr.cpp index 524763f98..d6a85512a 100644 --- a/indra/newview/llgroupmgr.cpp +++ b/indra/newview/llgroupmgr.cpp @@ -964,6 +964,17 @@ static void formatDateString(std::string &date_string) } } +const std::string& localized_online() +{ + static const std::string online(LLTrans::getString("group_member_status_online")); + return online; +} +const std::string& localized_unknown() +{ + static const std::string unknown(LLTrans::getString("group_member_status_unknown")); + return unknown; +} + // static void LLGroupMgr::processGroupMembersReply(LLMessageSystem* msg, void** data) { @@ -1015,13 +1026,11 @@ void LLGroupMgr::processGroupMembersReply(LLMessageSystem* msg, void** data) { if (online_status == "Online") { - static std::string localized_online(LLTrans::getString("group_member_status_online")); - online_status = localized_online; + online_status = localized_online(); } else if (online_status == "unknown") { - static std::string localized_unknown(LLTrans::getString("group_member_status_unknown")); - online_status = localized_unknown; + online_status = localized_unknown(); } else { @@ -2214,7 +2223,7 @@ void LLGroupMgr::processCapGroupMembersRequest(const LLSD& content) for ( ; member_iter_start != member_iter_end; ++member_iter_start) { // Reset defaults - online_status = LLTrans::getString("group_member_status_unknown"); + online_status = localized_unknown(); title = titles[0].asString(); contribution = 0; member_powers = default_powers; @@ -2227,9 +2236,9 @@ void LLGroupMgr::processCapGroupMembersRequest(const LLSD& content) { online_status = member_info["last_login"].asString(); if (online_status == "Online") - online_status = LLTrans::getString("group_member_status_online"); + online_status = localized_online(); else if (online_status == "unknown") - online_status = LLTrans::getString("group_member_status_unknown"); + online_status = localized_unknown(); else formatDateString(online_status); } diff --git a/indra/newview/llpanelgrouproles.cpp b/indra/newview/llpanelgrouproles.cpp index 2575b53d2..b180c7b70 100644 --- a/indra/newview/llpanelgrouproles.cpp +++ b/indra/newview/llpanelgrouproles.cpp @@ -51,7 +51,6 @@ #include "lltabcontainer.h" #include "lltextbox.h" #include "lltexteditor.h" -#include "lltrans.h" #include "llviewertexturelist.h" #include "llviewerwindow.h" #include "llfocusmgr.h" @@ -1670,10 +1669,9 @@ void LLPanelGroupMembersSubTab::update(LLGroupChange gc) bool is_online_status_string(const std::string& status) { - static const std::string online(LLTrans::getString("group_member_status_online")); - if (status == online) return true; - static const std::string unknown(LLTrans::getString("group_member_status_unknown")); - return status == unknown; + const std::string& localized_online(); + const std::string& localized_unknown(); + return status == localized_online() || status == localized_unknown(); } void LLPanelGroupMembersSubTab::addMemberToList(LLGroupMemberData* data) diff --git a/indra/newview/llspeakers.cpp b/indra/newview/llspeakers.cpp index c1a497e39..58f801d73 100644 --- a/indra/newview/llspeakers.cpp +++ b/indra/newview/llspeakers.cpp @@ -580,7 +580,8 @@ void LLSpeakerMgr::updateSpeakerList() LLGroupMemberData* member = member_it->second; LLUUID id = member_it->first; // Add only members who are online and not already in the list - if ((member->getOnlineStatus() == "Online") && (mSpeakers.find(id) == mSpeakers.end())) + const std::string& localized_online(); + if ((member->getOnlineStatus() == localized_online()) && (mSpeakers.find(id) == mSpeakers.end())) { LLPointer speakerp = setSpeaker(id, "", LLSpeaker::STATUS_VOICE_ACTIVE, LLSpeaker::SPEAKER_AGENT); speakerp->mIsModerator = ((member->getAgentPowers() & GP_SESSION_MODERATOR) == GP_SESSION_MODERATOR);