summaryrefslogtreecommitdiff
path: root/indra/llappearance
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llappearance')
-rw-r--r--indra/llappearance/llwearabletype.cpp17
-rw-r--r--indra/llappearance/llwearabletype.h1
2 files changed, 8 insertions, 10 deletions
diff --git a/indra/llappearance/llwearabletype.cpp b/indra/llappearance/llwearabletype.cpp
index 6b7dc41ffd..dc02b5e225 100644
--- a/indra/llappearance/llwearabletype.cpp
+++ b/indra/llappearance/llwearabletype.cpp
@@ -56,7 +56,7 @@ struct WearableEntry : public LLDictionaryEntry
BOOL mAllowMultiwear;
};
-class LLWearableDictionary : public LLParamSingleton<LLWearableDictionary>,
+class LLWearableDictionary : public LLSingleton<LLWearableDictionary>,
public LLDictionary<LLWearableType::EType, WearableEntry>
{
LLSINGLETON(LLWearableDictionary);
@@ -64,6 +64,12 @@ class LLWearableDictionary : public LLParamSingleton<LLWearableDictionary>,
LLWearableDictionary::LLWearableDictionary()
{
+ if (!LLWearableType::instanceExists())
+ {
+ // LLWearableType is effectively a wrapper around LLWearableDictionary and is used as storage for LLTranslationBridge
+ // Todo: consider merging LLWearableType and LLWearableDictionary
+ LL_WARNS() << "Initing LLWearableDictionary without LLWearableType" << LL_ENDL;
+ }
addEntry(LLWearableType::WT_SHAPE, new WearableEntry("shape", "New Shape", LLAssetType::AT_BODYPART, LLInventoryType::ICONNAME_BODYPART_SHAPE, FALSE, FALSE));
addEntry(LLWearableType::WT_SKIN, new WearableEntry("skin", "New Skin", LLAssetType::AT_BODYPART, LLInventoryType::ICONNAME_BODYPART_SKIN, FALSE, FALSE));
addEntry(LLWearableType::WT_HAIR, new WearableEntry("hair", "New Hair", LLAssetType::AT_BODYPART, LLInventoryType::ICONNAME_BODYPART_HAIR, FALSE, FALSE));
@@ -92,6 +98,7 @@ LLWearableDictionary::LLWearableDictionary()
LLWearableType::LLWearableType(LLTranslationBridge* trans)
{
+ // LLTranslationBridge exists, but is not ready at this point in time since strings.xml is not yet loaded
mTrans = trans;
}
@@ -100,14 +107,6 @@ LLWearableType::~LLWearableType()
delete mTrans;
}
-void LLWearableType::initSingleton()
-{
- // To make sure all wrapping functions will crash without initing LLWearableType;
- LLWearableDictionary::initParamSingleton();
-
- // Todo: consider merging LLWearableType and LLWearableDictionary
-}
-
// static
LLWearableType::EType LLWearableType::typeNameToType(const std::string& type_name)
{
diff --git a/indra/llappearance/llwearabletype.h b/indra/llappearance/llwearabletype.h
index 80bb9a10b4..5fe969822a 100644
--- a/indra/llappearance/llwearabletype.h
+++ b/indra/llappearance/llwearabletype.h
@@ -47,7 +47,6 @@ class LLWearableType : public LLParamSingleton<LLWearableType>
LLSINGLETON(LLWearableType, LLTranslationBridge* trans);
~LLWearableType();
friend struct WearableEntry;
- void initSingleton();
public:
enum EType
{