summaryrefslogtreecommitdiff
path: root/indra/newview/llfloaterfixedenvironment.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llfloaterfixedenvironment.cpp')
-rw-r--r--indra/newview/llfloaterfixedenvironment.cpp20
1 files changed, 11 insertions, 9 deletions
diff --git a/indra/newview/llfloaterfixedenvironment.cpp b/indra/newview/llfloaterfixedenvironment.cpp
index f564dce629..41d9a6d99b 100644
--- a/indra/newview/llfloaterfixedenvironment.cpp
+++ b/indra/newview/llfloaterfixedenvironment.cpp
@@ -250,7 +250,7 @@ LLFloaterSettingsPicker * LLFloaterFixedEnvironment::getSettingsPicker()
return picker;
}
-void LLFloaterFixedEnvironment::loadInventoryItem(const LLUUID &inventoryId)
+void LLFloaterFixedEnvironment::loadInventoryItem(const LLUUID &inventoryId, bool can_trans)
{
if (inventoryId.isNull())
{
@@ -290,7 +290,7 @@ void LLFloaterFixedEnvironment::loadInventoryItem(const LLUUID &inventoryId)
mCanCopy = mInventoryItem->getPermissions().allowCopyBy(gAgent.getID());
mCanMod = mInventoryItem->getPermissions().allowModifyBy(gAgent.getID());
- mCanTrans = mInventoryItem->getPermissions().allowOperationBy(PERM_TRANSFER, gAgent.getID());
+ mCanTrans = can_trans && mInventoryItem->getPermissions().allowOperationBy(PERM_TRANSFER, gAgent.getID());
LLSettingsVOBase::getSettingsAsset(mInventoryItem->getAssetUUID(),
[this](LLUUID asset_id, LLSettingsBase::ptr_t settings, S32 status, LLExtStat) { onAssetLoaded(asset_id, settings, status); });
@@ -402,12 +402,12 @@ void LLFloaterFixedEnvironment::onButtonApply(LLUICtrl *ctrl, const LLSD &data)
{
setting_clone = water->buildClone();
// LLViewerFetchedTexture and check for FTT_LOCAL_FILE or check LLLocalBitmapMgr
- if (LLLocalBitmapMgr::isLocal(water->getNormalMapID()))
+ if (LLLocalBitmapMgr::getInstance()->isLocal(water->getNormalMapID()))
{
local_desc = LLTrans::getString("EnvironmentNormalMap");
is_local = true;
}
- else if (LLLocalBitmapMgr::isLocal(water->getTransparentTextureID()))
+ else if (LLLocalBitmapMgr::getInstance()->isLocal(water->getTransparentTextureID()))
{
local_desc = LLTrans::getString("EnvironmentTransparent");
is_local = true;
@@ -420,22 +420,22 @@ void LLFloaterFixedEnvironment::onButtonApply(LLUICtrl *ctrl, const LLSD &data)
if (sky)
{
setting_clone = sky->buildClone();
- if (LLLocalBitmapMgr::isLocal(sky->getSunTextureId()))
+ if (LLLocalBitmapMgr::getInstance()->isLocal(sky->getSunTextureId()))
{
local_desc = LLTrans::getString("EnvironmentSun");
is_local = true;
}
- else if (LLLocalBitmapMgr::isLocal(sky->getMoonTextureId()))
+ else if (LLLocalBitmapMgr::getInstance()->isLocal(sky->getMoonTextureId()))
{
local_desc = LLTrans::getString("EnvironmentMoon");
is_local = true;
}
- else if (LLLocalBitmapMgr::isLocal(sky->getCloudNoiseTextureId()))
+ else if (LLLocalBitmapMgr::getInstance()->isLocal(sky->getCloudNoiseTextureId()))
{
local_desc = LLTrans::getString("EnvironmentCloudNoise");
is_local = true;
}
- else if (LLLocalBitmapMgr::isLocal(sky->getBloomTextureId()))
+ else if (LLLocalBitmapMgr::getInstance()->isLocal(sky->getBloomTextureId()))
{
local_desc = LLTrans::getString("EnvironmentBloom");
is_local = true;
@@ -653,6 +653,7 @@ void LLFloaterFixedEnvironment::onInventoryCreated(LLUUID asset_id, LLUUID inven
void LLFloaterFixedEnvironment::onInventoryCreated(LLUUID asset_id, LLUUID inventory_id)
{
+ bool can_trans = true;
if (mInventoryItem)
{
LLPermissions perms = mInventoryItem->getPermissions();
@@ -661,13 +662,14 @@ void LLFloaterFixedEnvironment::onInventoryCreated(LLUUID asset_id, LLUUID inven
if (created_item)
{
+ can_trans = perms.allowOperationBy(PERM_TRANSFER, gAgent.getID());
created_item->setPermissions(perms);
created_item->updateServer(false);
}
}
clearDirtyFlag();
setFocus(TRUE); // Call back the focus...
- loadInventoryItem(inventory_id);
+ loadInventoryItem(inventory_id, can_trans);
}
void LLFloaterFixedEnvironment::onInventoryUpdated(LLUUID asset_id, LLUUID inventory_id, LLSD results)