summaryrefslogtreecommitdiff
path: root/indra/newview/llpanelpermissions.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llpanelpermissions.cpp')
-rw-r--r--indra/newview/llpanelpermissions.cpp18
1 files changed, 9 insertions, 9 deletions
diff --git a/indra/newview/llpanelpermissions.cpp b/indra/newview/llpanelpermissions.cpp
index 923f4b3115..7beba92ebb 100644
--- a/indra/newview/llpanelpermissions.cpp
+++ b/indra/newview/llpanelpermissions.cpp
@@ -741,17 +741,17 @@ void LLPanelPermissions::refresh()
}
}
- if (is_for_sale)
+ childSetValue("checkbox for sale", is_for_sale);
+
+ // HACK: There are some old objects in world that are set for sale,
+ // but are no-transfer. We need to let users turn for-sale off, but only
+ // if for-sale is set.
+ bool cannot_actually_sell = !can_transfer || (!can_copy && sale_type == LLSaleInfo::FS_COPY);
+ if (is_for_sale && has_change_sale_ability && cannot_actually_sell)
{
- childSetValue("checkbox for sale",TRUE);
- childSetTentative("checkbox for sale",!can_transfer || (!can_copy && sale_type == LLSaleInfo::FS_COPY));
+ childSetEnabled("checkbox for sale", true);
}
- else
- {
- childSetValue("checkbox for sale",FALSE);
- childSetTentative("checkbox for sale",false);
- }
-
+
// Check search status of objects
BOOL all_volume = gSelectMgr->selectionAllPCode( LL_PCODE_VOLUME );
bool include_in_search;