diff options
| author | Oz Linden <oz@lindenlab.com> | 2015-06-15 15:53:45 -0400 |
|---|---|---|
| committer | Oz Linden <oz@lindenlab.com> | 2015-06-15 15:53:45 -0400 |
| commit | 95fc2d48eced78b2aaa29b9e8b3f9410eed1ad8c (patch) | |
| tree | 7748f0142e0ecbc91daa33c42a679799c4375d5e /indra/newview/llpreview.cpp | |
| parent | 96d16928600dbf3666221a19575af9330840cfd5 (diff) | |
| parent | e0f5ed29daa3b2803aaec60a77bde8df7df292ee (diff) | |
merge changes for 3.7.30-release
Diffstat (limited to 'indra/newview/llpreview.cpp')
| -rwxr-xr-x | indra/newview/llpreview.cpp | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/indra/newview/llpreview.cpp b/indra/newview/llpreview.cpp index 398f4e6e42..bf2652cb49 100755 --- a/indra/newview/llpreview.cpp +++ b/indra/newview/llpreview.cpp @@ -39,6 +39,7 @@ #include "llradiogroup.h" #include "llassetstorage.h" #include "llviewerassettype.h" +#include "llviewermessage.h" #include "llviewerobject.h" #include "llviewerobjectlist.h" #include "lldbstrings.h" @@ -53,7 +54,7 @@ LLPreview::LLPreview(const LLSD& key) : LLFloater(key), - mItemUUID(key.asUUID()), + mItemUUID(key.has("itemid") ? key.get("itemid").asUUID() : key.asUUID()), mObjectUUID(), // set later by setObjectID() mCopyToInvBtn( NULL ), mForceClose(FALSE), @@ -369,6 +370,20 @@ void LLPreview::onBtnCopyToInv(void* userdata) self->mNotecardInventoryID, item); } + else if (self->mObjectUUID.notNull()) + { + // item is in in-world inventory + LLViewerObject* object = gObjectList.findObject(self->mObjectUUID); + LLPermissions perm(item->getPermissions()); + if(object + &&(perm.allowCopyBy(gAgent.getID(), gAgent.getGroupID()) + && perm.allowTransferTo(gAgent.getID()))) + { + // copy to default folder + set_dad_inventory_item(item, LLUUID::null); + object->moveInventory(LLUUID::null, item->getUUID()); + } + } else { LLPointer<LLInventoryCallback> cb = NULL; @@ -453,7 +468,6 @@ LLMultiPreview::LLMultiPreview() setTitle(LLTrans::getString("MultiPreviewTitle")); buildTabContainer(); setCanResize(TRUE); - mAutoResize = FALSE; } void LLMultiPreview::onOpen(const LLSD& key) |
