diff --git a/indra/newview/rlvcommon.cpp b/indra/newview/rlvcommon.cpp index 8db5b32841f330ee8aa38f575cd84d3e7de7c0bf..66ecbf4a849b82ed6bf184ded098d281e74e0ea0 100644 --- a/indra/newview/rlvcommon.cpp +++ b/indra/newview/rlvcommon.cpp @@ -242,7 +242,7 @@ void RlvStrings::saveToFile(const std::string& strFilePath) sdStrings[itString->first]["value"] = listValues.back(); } - llofstream fileStream(strFilePath); + llofstream fileStream(strFilePath.c_str()); if (!fileStream.good()) return; diff --git a/indra/newview/rlvdefines.h b/indra/newview/rlvdefines.h index 9d7ceec8bf5c8968cc8570db6fd98ccd813ccde5..7c6c7a125a8f1923f1a45593c7341ba39d53850a 100644 --- a/indra/newview/rlvdefines.h +++ b/indra/newview/rlvdefines.h @@ -73,7 +73,7 @@ const S32 RLVa_VERSION_BUILD = 0; #define RLV_PUTINV_PREFIX "#RLV/~" #define RLV_PUTINV_SEPARATOR "/" #define RLV_PUTINV_MAXDEPTH 4 -#define RLV_SETROT_OFFSET F_PI_BY_TWO // @setrot is off by 90° with the rest of SL +#define RLV_SETROT_OFFSET F_PI_BY_TWO // @setrot is off by 90 degrees with the rest of SL #define RLV_STRINGS_FILE "rlva_strings.xml" #define RLV_FOLDER_FLAG_NOSTRIP "nostrip" diff --git a/indra/newview/rlvextensions.cpp b/indra/newview/rlvextensions.cpp index d62b353c065eb3666985f40c0ec9addf1af36831..43a5f61f506efa23d95a27f03ac24f3b2463e2dc 100644 --- a/indra/newview/rlvextensions.cpp +++ b/indra/newview/rlvextensions.cpp @@ -281,7 +281,7 @@ bool RlvWindLight::setValue(const std::string& strRlvName, const std::string& st } else { - pEnvMgr->useRegionSettings(); + pEnvMgr->setUserPrefs(pEnvMgr->getWaterPresetName(), pEnvMgr->getSkyPresetName(), pEnvMgr->getDayCycleName(), false, true); } return true; } diff --git a/indra/newview/rlvhandler.cpp b/indra/newview/rlvhandler.cpp index d162dc4bcce4ddd6313d9c3dd89bcea12fa62cb6..54b9470ac6f367acee8b4a4224eb20ce7cc37214 100644 --- a/indra/newview/rlvhandler.cpp +++ b/indra/newview/rlvhandler.cpp @@ -2086,7 +2086,7 @@ ERlvCmdRet RlvHandler::processForceCommand(const RlvCommand& rlvCmd) const nValue += rlvCmdOption.m_nPelvisToFootOffset; if (gAgentAvatarp->getRegion()->avatarHoverHeightEnabled()) { - LLVector3 avOffset(0.0, 0.0, llclamp<F32>(nValue, MIN_HOVER_Z, MAX_HOVER_Z)); + LLVector3 avOffset(0.0f, 0.0f, llclamp<F32>(nValue, MIN_HOVER_Z, MAX_HOVER_Z)); gSavedPerAccountSettings.setF32("AvatarHoverOffsetZ", avOffset.mV[VZ]); gAgentAvatarp->setHoverOffset(avOffset, true); } diff --git a/indra/newview/rlvinventory.cpp b/indra/newview/rlvinventory.cpp index 180ddecd020a1de75f347b28e681907d3df29363..082cc6065b5d1eeeb2ed9b7a260bb0192915e838 100644 --- a/indra/newview/rlvinventory.cpp +++ b/indra/newview/rlvinventory.cpp @@ -19,6 +19,7 @@ #include "llappearancemgr.h" #include "llstartup.h" #include "llviewerfoldertype.h" +#include "llviewermessage.h" #include "rlvinventory.h" @@ -364,6 +365,27 @@ S32 RlvInventory::getDirectDescendentsItemCount(const LLInventoryCategory* pFold return cntType; } +// Checked: 2012-11-28 (RLVa-1.4.8) +bool RlvInventory::isGiveToRLVOffer(const LLOfferInfo& offerInfo) +{ + if ( (!RlvSettings::getForbidGiveToRLV()) && (RlvInventory::instance().getSharedRoot()) ) + { + if (offerInfo.mFromObject) + { + return + (IM_TASK_INVENTORY_OFFERED == offerInfo.mIM) && + (LLAssetType::AT_CATEGORY == offerInfo.mType) && (offerInfo.mDesc.find(RLV_PUTINV_PREFIX) == 1); + } + else + { + return + (IM_INVENTORY_OFFERED == offerInfo.mIM) && + (LLAssetType::AT_CATEGORY == offerInfo.mType) && (offerInfo.mDesc.find(RLV_PUTINV_PREFIX) == 0); + } + } + return false; +} + // ============================================================================ // RlvRenameOnWearObserver member functions // diff --git a/indra/newview/rlvinventory.h b/indra/newview/rlvinventory.h index cacc9394c08a4aebacd3a2423d223d1e7955b5b3..c0ae7de4d8d44c0a98a42fe438df4e9e6c3da411 100644 --- a/indra/newview/rlvinventory.h +++ b/indra/newview/rlvinventory.h @@ -24,6 +24,12 @@ #include "rlvhelper.h" #include "rlvlocks.h" +// ============================================================================ +// Forward declarations +// + +class LLOfferInfo; + // ============================================================================ // RlvInventory class declaration // @@ -60,6 +66,8 @@ public: std::string getSharedPath(const LLUUID& idFolder) const; // Returns TRUE if the supplied folder is a descendent of the #RLV folder bool isSharedFolder(const LLUUID& idFolder); + // Returns TRUE if the inventory offer is a "give to #RLV" offer + bool isGiveToRLVOffer(const LLOfferInfo& offerInfo); /* * Inventory fetching