From 2c6ef6355a3a4a2b8d336e59bcafff1700b428e6 Mon Sep 17 00:00:00 2001 From: Tozh Date: Sat, 25 Jun 2011 16:31:56 -0400 Subject: [PATCH] Protected folders closed from drag/drop and paste --- indra/newview/llinventorybridge.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index fd4924be93..f6a592b18b 100644 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -74,6 +74,7 @@ // [/RLVa:KB] //-TT Client LSL Bridge #include "fslslbridge.h" +#include "aoengine.h" //-TT typedef std::pair two_uuids_t; @@ -847,9 +848,17 @@ BOOL LLInvFVBridge::isProtectedFolder() const const LLInventoryModel* model = getInventoryModel(); if(!model) return FALSE; - return ((mUUID == FSLSLBridge::instance().getBridgeFolder()) + if ((mUUID == FSLSLBridge::instance().getBridgeFolder()) || (model->isObjectDescendentOf(mUUID, FSLSLBridge::instance().getBridgeFolder())) - && gSavedPerAccountSettings.getBOOL("ProtectBridgeFolder")); + && gSavedPerAccountSettings.getBOOL("ProtectBridgeFolder")) + return TRUE; + + if ((mUUID==AOEngine::instance().getAOFolder() + || model->isObjectDescendentOf(mUUID, AOEngine::instance().getAOFolder())) + && gSavedPerAccountSettings.getBOOL("ProtectAOFolders")) + return TRUE; + + return FALSE; } //-TT @@ -3205,6 +3214,9 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item, if(!model || !inv_item) return FALSE; if(!isAgentInventory()) return FALSE; // cannot drag into library if (!isAgentAvatarValid()) return FALSE; +//-TT Client LSL Bridge + if (isProtectedFolder()) return FALSE; +//-TT const LLUUID ¤t_outfit_id = model->findCategoryUUIDForType(LLFolderType::FT_CURRENT_OUTFIT, false); const LLUUID &favorites_id = model->findCategoryUUIDForType(LLFolderType::FT_FAVORITE, false);