FIRE-16601: Viewer does not prompt to restart after enabling RLVa - "Missing RLVa string"

master
Ansariel 2015-08-08 17:58:16 +02:00
parent 9f418b0ae3
commit 48d68cb3f6
3 changed files with 7 additions and 3 deletions

View File

@ -1023,6 +1023,8 @@ void settings_setup_listeners()
gSavedSettings.getControl("FSTrimLegacyNames")->getCommitSignal()->connect(boost::bind(&handleLegacyTrimOptionChanged, _2));
gSavedSettings.getControl("FSUseAzertyKeyboardLayout")->getCommitSignal()->connect(boost::bind(&handleKeyboardLayoutChanged, _2));
gSavedSettings.getControl(RLV_SETTING_MAIN)->getSignal()->connect(boost::bind(&RlvSettings::onChangedSettingMain, _2));
}
#if TEST_CACHED_CONTROL

View File

@ -82,7 +82,8 @@ void RlvSettings::initClass()
static bool fInitialized = false;
if (!fInitialized)
{
gSavedSettings.getControl(RLV_SETTING_MAIN)->getSignal()->connect(boost::bind(&onChangedSettingMain, _2));
// Ansariel: Wired up in LLViewerControl because of FIRE-16601
//gSavedSettings.getControl(RLV_SETTING_MAIN)->getSignal()->connect(boost::bind(&onChangedSettingMain, _2));
#ifdef RLV_EXPERIMENTAL_COMPOSITEFOLDERS
fCompositeFolders = rlvGetSetting<bool>(RLV_SETTING_ENABLECOMPOSITES, false);
@ -211,7 +212,7 @@ void RlvStrings::loadFromFile(const std::string& strFilePath, bool fUserOverride
const LLSD& sdStrings = sdFileData["strings"];
for (LLSD::map_const_iterator itString = sdStrings.beginMap(); itString != sdStrings.endMap(); ++itString)
{
if ( (!itString->second.has("value")) || ((fUserOverride) && (!hasString(itString->first))) )
if ((!itString->second.has("value")) || ((fUserOverride) && (!hasString(itString->first))))
continue;
std::list<std::string>& listValues = m_StringMap[itString->first];
@ -276,6 +277,7 @@ const std::string& RlvStrings::getAnonym(const std::string& strName)
const std::string& RlvStrings::getString(const std::string& strStringName)
{
static const std::string strMissing = "(Missing RLVa string)";
initClass(); // Ansariel: Make sure RlvStrings gets initialized before accessing it
string_map_t::const_iterator itString = m_StringMap.find(strStringName);
return (itString != m_StringMap.end()) ? itString->second.back() : strMissing;
}

View File

@ -105,10 +105,10 @@ public:
#endif // RLV_EXTENSION_STARTLOCATION
static void initClass();
static void onChangedSettingMain(const LLSD& sdValue);
protected:
static bool onChangedMenuLevel();
static bool onChangedSettingBOOL(const LLSD& sdValue, bool* pfSetting);
static void onChangedSettingMain(const LLSD& sdValue);
#ifdef RLV_EXPERIMENTAL_COMPOSITEFOLDERS
static BOOL fCompositeFolders;