summaryrefslogtreecommitdiff
path: root/indra/llappearance
diff options
context:
space:
mode:
authorDave Houlton <euclid@lindenlab.com>2020-01-28 17:26:45 -0700
committerDave Houlton <euclid@lindenlab.com>2020-01-28 17:26:45 -0700
commit2a6b48c9b0c813c5e4ff8ac176fdf4e6c9466c22 (patch)
tree7f608467b3608127049ddc78d5045da032777cb4 /indra/llappearance
parent3e44cb06df22dd1b684dc8574c3b44d0851527bc (diff)
parent2998552f3d7447da316afdd1713595528596a0c5 (diff)
DRTVWR-440, merge in latest from 6.3.7 release
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 0aa2ff7bd8..d6ff28e2d2 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 b87866286d..148ccafdd8 100644
--- a/indra/llappearance/llwearabletype.h
+++ b/indra/llappearance/llwearabletype.h
@@ -38,7 +38,6 @@ class LLWearableType : public LLParamSingleton<LLWearableType>
LLSINGLETON(LLWearableType, LLTranslationBridge* trans);
~LLWearableType();
friend struct WearableEntry;
- void initSingleton();
public:
enum EType
{