summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorAndrew Dyukov <adyukov@productengine.com>2010-08-06 16:00:03 +0300
committerAndrew Dyukov <adyukov@productengine.com>2010-08-06 16:00:03 +0300
commitd20e7471ad9881fd5a9a58d69729ba41c3a5e12c (patch)
tree688f6e193da2629b87af07cab7fda8b02dd130c1 /indra/newview
parent55e9785e7bcbdb4152c8145a32a9552d3e0b629f (diff)
EXT-8539 FIXED Fixed title of alpha mask not save if renaming it from 'Editing' panel.
Bug happened because name change was not explicitly listed as sufficient reason to save a wearable. So saving failed for alpha masks with only names changed. Other wearables didn't have this problem because they passed precondition even if only name was changed thanking to checks that included visualparams. - Made name change explicitly a sufficient reason to proceed with saving a wearable. Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/840/ --HG-- branch : product-engine
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llagentwearables.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp
index 6ee5a8b279..6e3e54df2c 100644
--- a/indra/newview/llagentwearables.cpp
+++ b/indra/newview/llagentwearables.cpp
@@ -388,7 +388,9 @@ void LLAgentWearables::saveWearable(const LLWearableType::EType type, const U32
const std::string new_name)
{
LLWearable* old_wearable = getWearable(type, index);
- if (old_wearable && (old_wearable->isDirty() || old_wearable->isOldVersion()))
+ if(!old_wearable) return;
+ bool name_changed = !new_name.empty() && (new_name != old_wearable->getName());
+ if (name_changed || old_wearable->isDirty() || old_wearable->isOldVersion())
{
LLUUID old_item_id = old_wearable->getItemID();
LLWearable* new_wearable = LLWearableList::instance().createCopy(old_wearable);
@@ -404,12 +406,10 @@ void LLAgentWearables::saveWearable(const LLWearableType::EType type, const U32
if (item)
{
std::string item_name = item->getName();
- bool name_changed = false;
- if (!new_name.empty() && (new_name != item->getName()))
+ if (name_changed)
{
llinfos << "saveWearable changing name from " << item->getName() << " to " << new_name << llendl;
item_name = new_name;
- name_changed = true;
}
// Update existing inventory item
LLPointer<LLViewerInventoryItem> template_item =