diff options
| author | Mnikolenko Productengine <mnikolenko@productengine.com> | 2020-04-28 17:47:53 +0300 | 
|---|---|---|
| committer | Mnikolenko Productengine <mnikolenko@productengine.com> | 2020-04-28 17:47:53 +0300 | 
| commit | 5d7dc08d71f291cf18951c536b8bd2426892bce5 (patch) | |
| tree | c8680278e3d606d9cdeee1d24e0fb26637be2b3d | |
| parent | ac2611b380a8ff5f8d2e9bc1ad84a11954b76a73 (diff) | |
SL-12298 Convert LLSettingsType to an LLSINGLETON variant
| -rw-r--r-- | indra/llinventory/llinventorysettings.cpp | 26 | ||||
| -rw-r--r-- | indra/llinventory/llinventorysettings.h | 13 | ||||
| -rw-r--r-- | indra/newview/llappviewer.cpp | 2 | 
3 files changed, 22 insertions, 19 deletions
| diff --git a/indra/llinventory/llinventorysettings.cpp b/indra/llinventory/llinventorysettings.cpp index fdad50e8d4..81485b3a97 100644 --- a/indra/llinventory/llinventorysettings.cpp +++ b/indra/llinventory/llinventorysettings.cpp @@ -33,10 +33,6 @@  #include "llsingleton.h"  #include "llinvtranslationbrdg.h" -//========================================================================= -namespace { -    LLTranslationBridge::ptr_t sTranslator; -}  //=========================================================================  struct SettingsEntry : public LLDictionaryEntry @@ -49,7 +45,7 @@ struct SettingsEntry : public LLDictionaryEntry          mLabel(name),          mIconName(iconName)      { -        std::string transdname = sTranslator->getString(mLabel); +        std::string transdname = LLSettingsType::getInstance()->mTranslator->getString(mLabel);          if (!transdname.empty())          {              mLabel = transdname; @@ -84,6 +80,16 @@ void LLSettingsDictionary::initSingleton()  //========================================================================= +LLSettingsType::LLSettingsType(LLTranslationBridge::ptr_t &trans) +{ +    mTranslator = trans; +} + +LLSettingsType::~LLSettingsType() +{ +    mTranslator.reset(); +} +  LLSettingsType::type_e LLSettingsType::fromInventoryFlags(U32 flags)  {      return  (LLSettingsType::type_e)(flags & LLInventoryItemFlags::II_FLAGS_SUBTYPE_MASK); @@ -104,13 +110,3 @@ std::string LLSettingsType::getDefaultName(LLSettingsType::type_e type)          return getDefaultName(ST_INVALID);      return entry->mDefaultNewName;  } - -void LLSettingsType::initClass(LLTranslationBridge::ptr_t &trans) -{ -    sTranslator = trans; -} - -void LLSettingsType::cleanupClass() -{ -    sTranslator.reset(); -} diff --git a/indra/llinventory/llinventorysettings.h b/indra/llinventory/llinventorysettings.h index 906540689c..6b6685d088 100644 --- a/indra/llinventory/llinventorysettings.h +++ b/indra/llinventory/llinventorysettings.h @@ -30,9 +30,15 @@  #include "llinventorytype.h"  #include "llinvtranslationbrdg.h" +#include "llsingleton.h" -class LLSettingsType +class LLSettingsType : public LLParamSingleton<LLSettingsType>  { +    LLSINGLETON(LLSettingsType, LLTranslationBridge::ptr_t &trans); +    ~LLSettingsType(); + +    friend struct SettingsEntry; +  public:      enum type_e      { @@ -48,8 +54,9 @@ public:      static LLInventoryType::EIconName getIconName(type_e type);      static std::string getDefaultName(type_e type); -    static void initClass(LLTranslationBridge::ptr_t &trans); -    static void cleanupClass(); +protected: + +    LLTranslationBridge::ptr_t mTranslator;  }; diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index cbb47d71f7..51a8e49b4b 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -779,7 +779,7 @@ bool LLAppViewer::init()      // initialize the LLSettingsType translation bridge.      LLTranslationBridge::ptr_t trans = std::make_shared<LLUITranslationBridge>(); -    LLSettingsType::initClass(trans); +    LLSettingsType::initParamSingleton(trans);  	// initialize SSE options  	LLVector4a::initClass(); | 
