diff options
| author | Loren Shih <seraph@lindenlab.com> | 2010-03-15 17:43:17 -0400 |
|---|---|---|
| committer | Loren Shih <seraph@lindenlab.com> | 2010-03-15 17:43:17 -0400 |
| commit | 43f1abee2b7c8f2a1615ee98074b024156392dd9 (patch) | |
| tree | 8ad800c1c45bab598ff0eb3e44ea12f1d5a3169d /indra/newview/llinventorybridge.cpp | |
| parent | a618a3913af506878adf59a2c5b5fb12e665e35b (diff) | |
EXT-6367: Can't delete non-links from COF
EXT-6372 : Can waer non-links in COF
Some minor changes to account for non-link items appearing in the COF (non-links shouldn't appear in COF, but this can happen due to bugs or 1.23 usage).
First fix allows for these items to be deleted.
Second fix ignores these items from being processed/worn.
Diffstat (limited to 'indra/newview/llinventorybridge.cpp')
| -rw-r--r-- | indra/newview/llinventorybridge.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index 27a40c6ba0..ceeffea1c9 100644 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -683,14 +683,15 @@ void LLInvFVBridge::addTrashContextMenuOptions(menuentry_vec_t &items, void LLInvFVBridge::addDeleteContextMenuOptions(menuentry_vec_t &items, menuentry_vec_t &disabled_items) { + + const LLInventoryObject *obj = getInventoryObject(); + // Don't allow delete as a direct option from COF folder. - if (isCOFFolder()) + if (obj && obj->getIsLinkType() && isCOFFolder()) { return; } - const LLInventoryObject *obj = getInventoryObject(); - // "Remove link" and "Delete" are the same operation. if (obj && obj->getIsLinkType() && !get_is_item_worn(mUUID)) { @@ -2689,8 +2690,7 @@ void LLFolderBridge::buildContextMenu(LLMenuGL& menu, U32 flags) LLViewerInventoryCategory *cat = getCategory(); // BAP removed protected check to re-enable standard ops in untyped folders. // Not sure what the right thing is to do here. - if (!isCOFFolder() && cat && cat->getPreferredType()!=LLFolderType::FT_OUTFIT /*&& - LLAssetType::lookupIsProtectedCategoryType(cat->getPreferredType())*/) + if (!isCOFFolder() && cat && (cat->getPreferredType() != LLFolderType::FT_OUTFIT)) { // Do not allow to create 2-level subfolder in the Calling Card/Friends folder. EXT-694. if (!LLFriendCardsManager::instance().isCategoryInFriendFolder(cat)) @@ -4276,7 +4276,7 @@ void LLObjectBridge::buildContextMenu(LLMenuGL& menu, U32 flags) items.push_back(std::string("Attach Separator")); items.push_back(std::string("Detach From Yourself")); } - else if (!isItemInTrash() && !isLinkedObjectInTrash() && !isLinkedObjectMissing()) + else if (!isItemInTrash() && !isLinkedObjectInTrash() && !isLinkedObjectMissing() && !isCOFFolder()) { items.push_back(std::string("Attach Separator")); items.push_back(std::string("Object Wear")); @@ -4702,7 +4702,7 @@ void LLWearableBridge::buildContextMenu(LLMenuGL& menu, U32 flags) disabled_items.push_back(std::string("Wearable Edit")); } // Don't allow items to be worn if their baseobj is in the trash. - if (isLinkedObjectInTrash() || isLinkedObjectMissing()) + if (isLinkedObjectInTrash() || isLinkedObjectMissing() || isCOFFolder()) { disabled_items.push_back(std::string("Wearable Wear")); disabled_items.push_back(std::string("Wearable Add")); |
