Merged with the final piece of the puzzle

master
Kitty Barnett 2015-07-18 06:12:16 +02:00
commit 1db4bfa2bc
15 changed files with 34 additions and 45 deletions

View File

@ -1 +1 @@
1f57f946a99fad2a548778f00b39156577272b08
6fe7cc30ebc09cfe92787b71fa9dc55fd0396ec5

View File

@ -1 +1 @@
117062f159b585cb62a2011ba6afc5a0142bac19
543c14d1270ba0327474287b08ae6463d8c03fdb

View File

@ -1 +1 @@
a1402f717095c1483da139f6249ae38212ad9a8a
a48d42d15595c42a3ccb17a7c5ed246b87225cf3

View File

@ -1389,7 +1389,7 @@
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<boolean>0</boolean>
<boolean>1</boolean>
</map>
<key>WarnFirstRLVGiveToRLV</key>
<map>

View File

@ -1298,24 +1298,22 @@ static void removeDuplicateItems(LLInventoryModel::item_array_t& items)
items = new_items;
}
// [SL:KB] - Patch: Appearance-WearableDuplicateAssets | Checked: 2011-07-24 (Catznip-2.6.0e) | Added: Catznip-2.6.0e
// [SL:KB] - Patch: Appearance-WearableDuplicateAssets | Checked: 2015-06-30 (Catznip-3.7)
static void removeDuplicateWearableItemsByAssetID(LLInventoryModel::item_array_t& items)
{
std::set<LLUUID> idsAsset;
LLInventoryModel::item_array_t::const_iterator itItem = items.begin();
while (itItem != items.end())
{
const LLViewerInventoryItem* pItem = *itItem;
if (pItem->isWearableType())
items.erase(std::remove_if(items.begin(), items.end(),
[&idsAsset](const LLViewerInventoryItem* pItem)
{
if (idsAsset.end() == idsAsset.find(pItem->getAssetUUID()))
idsAsset.insert(pItem->getAssetUUID());
else
itItem = items.erase(itItem);
}
++itItem;
}
if (pItem->isWearableType())
{
const LLUUID& idAsset = pItem->getAssetUUID();
if ( (idAsset.notNull()) && (idsAsset.end() != idsAsset.find(idAsset)) )
return true;
idsAsset.insert(idAsset);
}
return false;
}), items.end());
}
// [/SL:KB]

View File

@ -8343,7 +8343,6 @@ void process_script_question(LLMessageSystem *msg, void **user_data)
payload["owner_name"] = owner_name;
// [RLVa:KB] - Checked: 2012-07-28 (RLVa-1.4.7)
const char* notification = "ScriptQuestion";
if (rlv_handler_t::isEnabled())
{
RlvUtil::filterScriptQuestions(questions, payload);
@ -8367,17 +8366,18 @@ void process_script_question(LLMessageSystem *msg, void **user_data)
}
}
if ( (!caution) && (!questions) )
if ( (!caution) && (!questions) && (experienceid.isNull()) )
{
LLNotifications::instance().forceResponse(
LLNotification::Params("ScriptQuestion").substitutions(args).payload(payload), 0/*YES*/);
return;
}
else if (caution && gSavedSettings.getBOOL("PermissionsCautionEnabled"))
// [/RLVa:KB]
// check whether cautions are even enabled or not
//const char* notification = "ScriptQuestion";
//if(caution && gSavedSettings.getBOOL("PermissionsCautionEnabled"))
// check whether cautions are even enabled or not
const char* notification = "ScriptQuestion";
if(caution && gSavedSettings.getBOOL("PermissionsCautionEnabled"))
{
args["FOOTERTEXT"] = (count > 1) ? LLTrans::getString("AdditionalPermissionsRequestHeader") + "\n\n" + script_question : "";
notification = "ScriptQuestionCaution";

View File

@ -24,7 +24,6 @@
#include "llviewerparcelmgr.h"
#include "llviewermenu.h"
#include "llviewerregion.h"
#include "llviewerstats.h"
#include "llworld.h"
#include "rlvactions.h"

View File

@ -18,7 +18,6 @@
#include "llagent.h"
#include "llagentcamera.h"
#include "lldaycyclemanager.h"
#include "llviewercontrol.h"
#include "llvoavatarself.h"
#include "llwlparammanager.h"

View File

@ -27,6 +27,7 @@
#include "llviewerregion.h"
#include "rlvhandler.h"
#include "rlvhelper.h"
#include "rlvinventory.h"
#include "rlvlocks.h"
#include "rlvui.h"

View File

@ -15,15 +15,11 @@
*/
#include "llviewerprecompiledheaders.h"
#include "llagent.h"
#include "llagentwearables.h"
#include "llappearancemgr.h"
#include "llattachmentsmgr.h"
#include "llgesturemgr.h"
#include "llnotificationsutil.h"
#include "llviewerobject.h"
#include "llviewerobjectlist.h"
#include "llwlparammanager.h"
//<FS:TS> FIRE-4453 bridge detached by the RLV command @remattach=force
#include "fslslbridge.h"
@ -1031,8 +1027,17 @@ void RlvForceWear::done()
LLAppearanceMgr::instance().removeItemsFromAvatar(remItems, cb, true);
}
if ( (!addBodyParts.empty()) || (!addClothing.empty()) || (!m_addGestures.empty()) )
if ( (addBodyParts.empty()) && (!addClothing.empty()) && (m_addGestures.empty()) )
{
// Clothing items only
uuid_vec_t idClothing;
for (const LLViewerInventoryItem* pItem : addClothing)
idClothing.push_back(pItem->getUUID());
LLAppearanceMgr::instance().wearItemsOnAvatar(idClothing, false, false, cb);
}
else if ( (!addBodyParts.empty()) || (!addClothing.empty()) || (!m_addGestures.empty()) )
{
// Mixture of body parts, clothing and/or gestures
LLInventoryModel::item_array_t addAttachments;
LLAppearanceMgr::instance().updateCOF(addBodyParts, addClothing, addAttachments, m_addGestures, true, LLUUID::null, cb);

View File

@ -21,7 +21,6 @@
#include "llinventorymodel.h"
#include "llviewerinventory.h"
#include "llwearabletype.h"
#include "llwlparamset.h"
#include "rlvdefines.h"
#include "rlvcommon.h"

View File

@ -17,18 +17,11 @@
#include "llviewerprecompiledheaders.h"
#include "llagent.h"
#include "llappearancemgr.h"
#include "llinventoryobserver.h"
#include "llstartup.h"
#include "llviewerfoldertype.h"
#include "llviewermessage.h"
#include "llviewerobject.h"
#include "llvoavatarself.h"
#include "rlvdefines.h"
#include "rlvcommon.h"
#include "rlvlocks.h"
#include "rlvinventory.h"
#include "rlvhandler.h"
#include "boost/algorithm/string.hpp"
@ -535,7 +528,7 @@ bool RlvGiveToRLVOffer::createDestinationFolder(const std::string& strPath)
const LLUUID& idRlvRoot = RlvInventory::instance().getSharedRootID();
if (idRlvRoot.notNull())
{
onCategoryCreateCallback(idRlvRoot, this);
onCategoryCreateCallback(idRlvRoot, this);
}
else
{

View File

@ -18,12 +18,9 @@
#define RLV_INVENTORY_H
#include "llinventoryfunctions.h"
#include "llinventorymodel.h"
#include "llinventoryobserver.h"
#include "llsingleton.h"
#include "llviewerinventory.h"
#include "rlvcommon.h"
#include "rlvhelper.h"
#include "rlvlocks.h"

View File

@ -19,7 +19,6 @@
#include "llagent.h"
#include "llappearancemgr.h"
#include "llattachmentsmgr.h"
#include "llinventoryobserver.h"
#include "lloutfitobserver.h"
#include "llviewerobjectlist.h"
#include "pipeline.h"

View File

@ -37,7 +37,6 @@
#include "llsidepanelappearance.h"
#include "lltabcontainer.h"
#include "llteleporthistory.h"
#include "llteleporthistorystorage.h"
#include "lltoolmgr.h"
#include "llviewerparcelmgr.h"
#include "llviewerregion.h"