summaryrefslogtreecommitdiff
path: root/indra/newview/llagentlanguage.cpp
diff options
context:
space:
mode:
authorKent Quirk <q@lindenlab.com>2010-07-30 10:11:55 -0400
committerKent Quirk <q@lindenlab.com>2010-07-30 10:11:55 -0400
commit19c0d6d4eaf21cbfc96d7057c11db35edf73f2fe (patch)
tree21984bc2d7a41ba2587a424499f97d3e6d527da4 /indra/newview/llagentlanguage.cpp
parentfe8a5a007ab82f3d6a763c5cb133e1299d238632 (diff)
parent7a4174447a0762dcab2769d1401295b78c9341fd (diff)
Merge from q/viewer-release to dessie/viewer-release for 2.1.1 beta 1
Diffstat (limited to 'indra/newview/llagentlanguage.cpp')
-rw-r--r--indra/newview/llagentlanguage.cpp26
1 files changed, 20 insertions, 6 deletions
diff --git a/indra/newview/llagentlanguage.cpp b/indra/newview/llagentlanguage.cpp
index e97f136489..3d4e34a549 100644
--- a/indra/newview/llagentlanguage.cpp
+++ b/indra/newview/llagentlanguage.cpp
@@ -39,21 +39,35 @@
// library includes
#include "llui.h" // getLanguage()
-LLAgentLanguage::LLAgentLanguage()
+// static
+void LLAgentLanguage::init()
{
- gSavedSettings.getControl("Language")->getSignal()->connect(boost::bind(&update));
- gSavedSettings.getControl("InstallLanguage")->getSignal()->connect(boost::bind(&update));
- gSavedSettings.getControl("SystemLanguage")->getSignal()->connect(boost::bind(&update));
- gSavedSettings.getControl("LanguageIsPublic")->getSignal()->connect(boost::bind(&update));
+ gSavedSettings.getControl("Language")->getSignal()->connect(boost::bind(&onChange));
+ gSavedSettings.getControl("InstallLanguage")->getSignal()->connect(boost::bind(&onChange));
+ gSavedSettings.getControl("SystemLanguage")->getSignal()->connect(boost::bind(&onChange));
+ gSavedSettings.getControl("LanguageIsPublic")->getSignal()->connect(boost::bind(&onChange));
}
+// static
+void LLAgentLanguage::onChange()
+{
+ // Clear inventory cache so that default names of inventory items
+ // appear retranslated (EXT-8308).
+ gSavedSettings.setBOOL("PurgeCacheOnNextStartup", TRUE);
+}
// send language settings to the sim
// static
bool LLAgentLanguage::update()
{
LLSD body;
- std::string url = gAgent.getRegion()->getCapability("UpdateAgentLanguage");
+ std::string url;
+
+ if (gAgent.getRegion())
+ {
+ url = gAgent.getRegion()->getCapability("UpdateAgentLanguage");
+ }
+
if (!url.empty())
{
std::string language = LLUI::getLanguage();