summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/newview/llwearableitemslist.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/indra/newview/llwearableitemslist.cpp b/indra/newview/llwearableitemslist.cpp
index 89b74ae962..8681f7c14e 100644
--- a/indra/newview/llwearableitemslist.cpp
+++ b/indra/newview/llwearableitemslist.cpp
@@ -104,8 +104,6 @@ BOOL LLPanelWearableOutfitItem::postBuild()
{
LLPanelWearableListItem::postBuild();
- LLViewerInventoryItem* inv_item = getItem();
- mShowWidgets &= (inv_item->getType() != LLAssetType::AT_BODYPART);
if(mShowWidgets)
{
addWidgetToRightSide("add_wearable");
@@ -208,7 +206,12 @@ void LLPanelWearableOutfitItem::updateItem(const std::string& name,
if(mShowWidgets)
{
setShowWidget("add_wearable", !is_worn);
- setShowWidget("remove_wearable", is_worn);
+
+ // Body parts can't be removed, only replaced
+ LLViewerInventoryItem* inv_item = getItem();
+ bool show_remove = is_worn && inv_item && (inv_item->getType() != LLAssetType::AT_BODYPART);
+ setShowWidget("remove_wearable", show_remove);
+
if(mHovered)
{
setWidgetsVisible(true);