summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKadah_Coba <kadah.coba@gmail.com>2019-10-06 16:09:56 -0700
committerKadah_Coba <kadah.coba@gmail.com>2019-10-06 16:09:56 -0700
commitce48cb4303c10dbc9d3044271035153569226040 (patch)
tree083078c1f71cdfabc65fbc02227568b689e11448
parent733f799c4359d32778b5f345ae434152467334bc (diff)
[Project Copy/Paste] Simplified texture copy check
-rw-r--r--indra/newview/llpanelobject.cpp17
1 files changed, 8 insertions, 9 deletions
diff --git a/indra/newview/llpanelobject.cpp b/indra/newview/llpanelobject.cpp
index 1a0c2c86eb..e53f03785f 100644
--- a/indra/newview/llpanelobject.cpp
+++ b/indra/newview/llpanelobject.cpp
@@ -2437,12 +2437,13 @@ bool LLPanelObject::pasteEnabletMenuItem(const LLSD& userdata)
return true;
}
-// User is allowed to copy if they could otherwise recreate it manually
-// ie. User has full perm copy of the sculpted texture in their inventory,
-// or is a default texture or library asset.
// Static
bool LLPanelObject::canCopyTexture(LLUUID image_id)
{
+ // User is allowed to copy a texture if:
+ // library asset or default texture,
+ // or full perm asset exists in user's inventory
+
// Library asset or default texture
if (gInventory.isObjectDescendentOf(image_id, gInventory.getLibraryRootFolderID())
|| image_id == LLUUID(gSavedSettings.getString( "DefaultObjectTexture" ))
@@ -2452,8 +2453,8 @@ bool LLPanelObject::canCopyTexture(LLUUID image_id)
{
return true;
}
-
- // LLUUID inventory_item_id;
+
+ // Search for a full perm asset
LLViewerInventoryCategory::cat_array_t cats;
LLViewerInventoryItem::item_array_t items;
LLAssetIDMatches asset_id_matches(image_id);
@@ -2464,12 +2465,10 @@ bool LLPanelObject::canCopyTexture(LLUUID image_id)
asset_id_matches);
if (items.size())
{
- // search for copyable version first
for (S32 i = 0; i < items.size(); i++)
{
- LLInventoryItem* itemp = items[i];
- LLPermissions item_permissions = itemp->getPermissions();
- if (item_permissions.allowCopyBy(gAgent.getID()))
+ LLViewerInventoryItem* itemp = items[i];
+ if (itemp->getIsFullPerm())
{
return true;
}