summaryrefslogtreecommitdiff
path: root/indra/newview/llinventorybridge.cpp
diff options
context:
space:
mode:
authormaxim_productengine <mnikolenko@productengine.com>2018-05-02 12:24:14 +0300
committermaxim_productengine <mnikolenko@productengine.com>2018-05-02 12:24:14 +0300
commit46cc8496f0c2405342b0892a673bcf69cc13847b (patch)
tree0adb60347ae73cc949912149625586da298d2bdc /indra/newview/llinventorybridge.cpp
parent4e1f8165cd6eaf4a55c68668b90d0833993b1521 (diff)
MAINT-8553 Allow copy a link or copy a folder containing a link in inventory.
Diffstat (limited to 'indra/newview/llinventorybridge.cpp')
-rw-r--r--indra/newview/llinventorybridge.cpp26
1 files changed, 13 insertions, 13 deletions
diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp
index 67b51f11b3..29e63e4bca 100644
--- a/indra/newview/llinventorybridge.cpp
+++ b/indra/newview/llinventorybridge.cpp
@@ -779,6 +779,14 @@ void LLInvFVBridge::getClipboardEntries(bool show_asset_id,
if (obj)
{
+
+ items.push_back(std::string("Copy Separator"));
+ items.push_back(std::string("Copy"));
+ if (!isItemCopyable())
+ {
+ disabled_items.push_back(std::string("Copy"));
+ }
+
if (obj->getIsLinkType())
{
items.push_back(std::string("Find Original"));
@@ -821,13 +829,6 @@ void LLInvFVBridge::getClipboardEntries(bool show_asset_id,
disabled_items.push_back(std::string("Copy Asset UUID"));
}
}
- items.push_back(std::string("Copy Separator"));
-
- items.push_back(std::string("Copy"));
- if (!isItemCopyable())
- {
- disabled_items.push_back(std::string("Copy"));
- }
items.push_back(std::string("Cut"));
if (!isItemMovable() || !isItemRemovable())
@@ -2104,12 +2105,6 @@ BOOL LLItemBridge::isItemCopyable() const
return FALSE;
}
- // You can never copy a link.
- if (item->getIsLinkType())
- {
- return FALSE;
- }
-
return item->getPermissions().allowCopyBy(gAgent.getID()) || gSavedSettings.getBOOL("InventoryLinking");
}
return FALSE;
@@ -3812,6 +3807,11 @@ void LLFolderBridge::perform_pasteFromClipboard()
break;
}
}
+ else if (item->getIsLinkType())
+ {
+ link_inventory_object(parent_id, item_id,
+ LLPointer<LLInventoryCallback>(NULL));
+ }
else
{
copy_inventory_item(