diff --git a/indra/newview/llsyntaxid.cpp b/indra/newview/llsyntaxid.cpp index 9e54c521b59c320ba501c2dbf166eb6dd1c67f0b..10a9dee4157bad47f115a3d793c5606a59331557 100644 --- a/indra/newview/llsyntaxid.cpp +++ b/indra/newview/llsyntaxid.cpp @@ -50,6 +50,7 @@ LLSyntaxIdLSL::LLSyntaxIdLSL() , mCapabilityURL(std::string()) , mFilePath(LL_PATH_APP_SETTINGS) , mSyntaxId(LLUUID()) +, mInitialized(false) { loadDefaultKeywordsIntoLLSD(); mRegionChangedCallback = gAgent.addRegionChangedCallback(boost::bind(&LLSyntaxIdLSL::handleRegionChanged, this)); @@ -179,6 +180,7 @@ void LLSyntaxIdLSL::cacheFile(const std::string &fileSpec, const LLSD& content_r //----------------------------------------------------------------------------- void LLSyntaxIdLSL::initialize() { + if(mInitialized) return; if (mSyntaxId.isNull()) { loadDefaultKeywordsIntoLLSD(); @@ -213,6 +215,7 @@ void LLSyntaxIdLSL::initialize() LL_DEBUGS("SyntaxLSL") << "LSLSyntaxId capability URL is empty." << LL_ENDL; loadDefaultKeywordsIntoLLSD(); } + mInitialized = true; } //----------------------------------------------------------------------------- @@ -303,6 +306,7 @@ void LLSyntaxIdLSL::handleRegionChanged() { buildFullFileSpec(); fetchKeywordsFile(mFullFileSpec); + mInitialized = false; } } diff --git a/indra/newview/llsyntaxid.h b/indra/newview/llsyntaxid.h index 1360b3e042efc43b716d67d5341179ef00714e55..caddba5527949384d333072611edfcad79b1f91c 100644 --- a/indra/newview/llsyntaxid.h +++ b/indra/newview/llsyntaxid.h @@ -65,6 +65,7 @@ class LLSyntaxIdLSL : public LLSingleton<LLSyntaxIdLSL> ELLPath mFilePath; LLUUID mSyntaxId; LLSD mKeywordsXml; + bool mInitialized; public: void initialize();