diff options
-rw-r--r-- | indra/newview/llpanelobject.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/indra/newview/llpanelobject.cpp b/indra/newview/llpanelobject.cpp index 56aea7db5e..01fa9cc074 100644 --- a/indra/newview/llpanelobject.cpp +++ b/indra/newview/llpanelobject.cpp @@ -2449,7 +2449,7 @@ 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 + // or copy perm asset exists in user's inventory // Library asset or default texture if (gInventory.isObjectDescendentOf(image_id, gInventory.getLibraryRootFolderID()) @@ -2461,7 +2461,7 @@ bool LLPanelObject::canCopyTexture(LLUUID image_id) return true; } - // Search for a full perm asset + // Search for a copy perm asset LLViewerInventoryCategory::cat_array_t cats; LLViewerInventoryItem::item_array_t items; LLAssetIDMatches asset_id_matches(image_id); @@ -2475,9 +2475,15 @@ bool LLPanelObject::canCopyTexture(LLUUID image_id) for (S32 i = 0; i < items.size(); i++) { LLViewerInventoryItem* itemp = items[i]; - if (itemp->getIsFullPerm()) + if (itemp) { - return true; + LLPermissions item_permissions = itemp->getPermissions(); + if (item_permissions.allowOperationBy(PERM_COPY, + gAgent.getID(), + gAgent.getGroupID())) + { + return true; + } } } } |