summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2024-07-08 16:23:29 -0400
committerNat Goodspeed <nat@lindenlab.com>2024-07-08 16:23:29 -0400
commit2918ebc081f63bffd5c482375f7fcbbb2faea175 (patch)
treeef94cda50652beec2c9bab54a26bd7f69f318852 /indra
parent6f62e8b59191ee622591c91a55d02bb6c808e85a (diff)
Combine LLAppearanceMgr::wearOutfit() and wearOutfitByName()
into new private wearOutfit(LLInventoryCategory*) method.
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/llappearancemgr.cpp63
-rw-r--r--indra/newview/llappearancemgr.h4
2 files changed, 28 insertions, 39 deletions
diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp
index 7a34006323..a8bc9d8e52 100644
--- a/indra/newview/llappearancemgr.cpp
+++ b/indra/newview/llappearancemgr.cpp
@@ -2904,6 +2904,17 @@ void LLAppearanceMgr::wearInventoryCategoryOnAvatar( LLInventoryCategory* catego
LLAppearanceMgr::changeOutfit(TRUE, category->getUUID(), append);
}
+bool LLAppearanceMgr::wearOutfitByName(const std::string& name, bool append)
+{
+ std::string error_msg;
+ if(!wearOutfitByName(name, error_msg, append))
+ {
+ LL_WARNS() << error_msg << LL_ENDL;
+ return false;
+ }
+ return true;
+}
+
bool LLAppearanceMgr::wearOutfitByName(const std::string& name, std::string& error_msg, bool append)
{
LL_INFOS("Avatar") << self_av_string() << "Wearing category " << name << LL_ENDL;
@@ -2937,63 +2948,37 @@ bool LLAppearanceMgr::wearOutfitByName(const std::string& name, std::string& err
}
}
- if(cat)
- {
- // don't allow wearing a system folder
- if (LLFolderType::lookupIsProtectedType(cat->getPreferredType()))
- {
- error_msg = stringize(LLTrans::getString("SystemFolderNotWorn"), std::quoted(name));
- return false;
- }
- bool can_wear = append ? getCanAddToCOF(cat->getUUID()) : getCanReplaceCOF(cat->getUUID());
- if (!can_wear)
- {
- std::string msg = append ? LLTrans::getString("OutfitNotAdded") : LLTrans::getString("OutfitNotReplaced");
- error_msg = stringize(msg, std::quoted(name), ", id: ", cat->getUUID());
- return false;
- }
- LLAppearanceMgr::wearInventoryCategory(cat, copy_items, append);
- }
- else
- {
- error_msg = stringize(LLTrans::getString("OutfitNotFound"), std::quoted(name));
- return false;
- }
- return true;
+ return wearOutfit(std::quoted(name), cat, error_msg, copy_items, append);
}
bool LLAppearanceMgr::wearOutfit(const LLUUID &cat_id, std::string &error_msg, bool append)
{
LLViewerInventoryCategory *cat = gInventory.getCategory(cat_id);
+ return wearOutfit(stringize(cat_id), cat, error_msg, false, append);
+}
+
+bool LLAppearanceMgr::wearOutfit(const std::string &desc, LLInventoryCategory* cat,
+ std::string &error_msg, bool copy_items, bool append)
+{
if (!cat)
{
- error_msg = stringize(LLTrans::getString("OutfitNotFound"), cat_id);
+ error_msg = stringize(LLTrans::getString("OutfitNotFound"), desc);
return false;
}
+ // don't allow wearing a system folder
if (LLFolderType::lookupIsProtectedType(cat->getPreferredType()))
{
- error_msg = stringize(LLTrans::getString("SystemFolderNotWorn"), cat_id);
+ error_msg = stringize(LLTrans::getString("SystemFolderNotWorn"), std::quoted(cat->getName()));
return false;
}
- bool can_wear = append ? LLAppearanceMgr::instance().getCanAddToCOF(cat_id) : LLAppearanceMgr::instance().getCanReplaceCOF(cat_id);
+ bool can_wear = append ? getCanAddToCOF(cat->getUUID()) : getCanReplaceCOF(cat->getUUID());
if (!can_wear)
{
std::string msg = append ? LLTrans::getString("OutfitNotAdded") : LLTrans::getString("OutfitNotReplaced");
- error_msg = stringize(msg, std::quoted(cat->getName()), " , id: ", cat_id);
- return false;
- }
- LLAppearanceMgr::instance().wearInventoryCategory(cat, false, append);
- return true;
-}
-
-bool LLAppearanceMgr::wearOutfitByName(const std::string& name, bool append)
-{
- std::string error_msg;
- if(!wearOutfitByName(name, error_msg, append))
- {
- LL_WARNS() << error_msg << LL_ENDL;
+ error_msg = stringize(msg, std::quoted(cat->getName()), " , id: ", cat->getUUID());
return false;
}
+ wearInventoryCategory(cat, copy_items, append);
return true;
}
diff --git a/indra/newview/llappearancemgr.h b/indra/newview/llappearancemgr.h
index b795494f94..11d209e6b5 100644
--- a/indra/newview/llappearancemgr.h
+++ b/indra/newview/llappearancemgr.h
@@ -263,6 +263,10 @@ private:
static void onOutfitRename(const LLSD& notification, const LLSD& response);
+ // used by both wearOutfit(LLUUID) and wearOutfitByName(std::string)
+ bool wearOutfit(const std::string &desc, LLInventoryCategory* cat,
+ std::string &error_msg, bool copy_items, bool append);
+
bool mAttachmentInvLinkEnabled;
bool mOutfitIsDirty;
bool mIsInUpdateAppearanceFromCOF; // to detect recursive calls.