jira-archive-internal#63268 Several objects are worn on the same part
of the body by double-clicking on the object from the "Library" folder SL-13411master
parent
5d1e3d4ad9
commit
fece367b9b
|
|
@ -6880,7 +6880,7 @@ void LLObjectBridge::performAction(LLInventoryModel* model, std::string action)
|
|||
else if(item && item->isFinished())
|
||||
{
|
||||
// must be in library. copy it to our inventory and put it on.
|
||||
LLPointer<LLInventoryCallback> cb = new LLBoostFuncInventoryCallback(boost::bind(rez_attachment_cb, _1, (LLViewerJointAttachment*)0));
|
||||
LLPointer<LLInventoryCallback> cb = new LLBoostFuncInventoryCallback(boost::bind(rez_attachment_cb, _1, (LLViewerJointAttachment*)0, true));
|
||||
copy_inventory_item(
|
||||
gAgent.getID(),
|
||||
item->getPermissions().getOwner(),
|
||||
|
|
|
|||
|
|
@ -778,7 +778,7 @@ private:
|
|||
|
||||
void rez_attachment(LLViewerInventoryItem* item,
|
||||
LLViewerJointAttachment* attachment,
|
||||
bool replace = false);
|
||||
bool replace);
|
||||
|
||||
// Move items from an in-world object's "Contents" folder to a specified
|
||||
// folder in agent inventory.
|
||||
|
|
|
|||
|
|
@ -2132,7 +2132,7 @@ EAcceptance LLToolDragAndDrop::dad3dRezAttachmentFromInv(
|
|||
{
|
||||
if(mSource == SOURCE_LIBRARY)
|
||||
{
|
||||
LLPointer<LLInventoryCallback> cb = new LLBoostFuncInventoryCallback(boost::bind(rez_attachment_cb, _1, (LLViewerJointAttachment*)0));
|
||||
LLPointer<LLInventoryCallback> cb = new LLBoostFuncInventoryCallback(boost::bind(rez_attachment_cb, _1, (LLViewerJointAttachment*)0, false));
|
||||
copy_inventory_item(
|
||||
gAgent.getID(),
|
||||
item->getPermissions().getOwner(),
|
||||
|
|
@ -2143,7 +2143,7 @@ EAcceptance LLToolDragAndDrop::dad3dRezAttachmentFromInv(
|
|||
}
|
||||
else
|
||||
{
|
||||
rez_attachment(item, 0);
|
||||
rez_attachment(item, 0, false);
|
||||
}
|
||||
}
|
||||
return ACCEPT_YES_SINGLE;
|
||||
|
|
|
|||
|
|
@ -116,12 +116,12 @@ void LLViewerAttachMenu::attachObjects(const uuid_vec_t& items, const std::strin
|
|||
LLViewerInventoryItem* item = (LLViewerInventoryItem*)gInventory.getLinkedItem(id);
|
||||
if(item && gInventory.isObjectDescendentOf(id, gInventory.getRootFolderID()))
|
||||
{
|
||||
rez_attachment(item, attachmentp); // don't replace if called from an "Attach To..." menu
|
||||
rez_attachment(item, attachmentp, false); // don't replace if called from an "Attach To..." menu
|
||||
}
|
||||
else if(item && item->isFinished())
|
||||
{
|
||||
// must be in library. copy it to our inventory and put it on.
|
||||
LLPointer<LLInventoryCallback> cb = new LLBoostFuncInventoryCallback(boost::bind(rez_attachment_cb, _1, attachmentp));
|
||||
LLPointer<LLInventoryCallback> cb = new LLBoostFuncInventoryCallback(boost::bind(rez_attachment_cb, _1, attachmentp, false));
|
||||
copy_inventory_item(gAgent.getID(),
|
||||
item->getPermissions().getOwner(),
|
||||
item->getUUID(),
|
||||
|
|
|
|||
|
|
@ -966,7 +966,7 @@ void LLInventoryCallbackManager::fire(U32 callback_id, const LLUUID& item_id)
|
|||
}
|
||||
}
|
||||
|
||||
void rez_attachment_cb(const LLUUID& inv_item, LLViewerJointAttachment *attachmentp)
|
||||
void rez_attachment_cb(const LLUUID& inv_item, LLViewerJointAttachment *attachmentp, bool replace)
|
||||
{
|
||||
if (inv_item.isNull())
|
||||
return;
|
||||
|
|
@ -974,7 +974,7 @@ void rez_attachment_cb(const LLUUID& inv_item, LLViewerJointAttachment *attachme
|
|||
LLViewerInventoryItem *item = gInventory.getItem(inv_item);
|
||||
if (item)
|
||||
{
|
||||
rez_attachment(item, attachmentp);
|
||||
rez_attachment(item, attachmentp, replace);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -264,7 +264,7 @@ public:
|
|||
|
||||
class LLViewerJointAttachment;
|
||||
|
||||
void rez_attachment_cb(const LLUUID& inv_item, LLViewerJointAttachment *attachmentp);
|
||||
void rez_attachment_cb(const LLUUID& inv_item, LLViewerJointAttachment *attachmentp, bool replace);
|
||||
|
||||
void activate_gesture_cb(const LLUUID& inv_item);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue