diff options
| author | maxim_productengine <mnikolenko@productengine.com> | 2019-10-15 18:07:55 +0300 | 
|---|---|---|
| committer | maxim_productengine <mnikolenko@productengine.com> | 2019-10-15 18:07:55 +0300 | 
| commit | cc3cf17e5e335b6e78d86755e015161ab92c50db (patch) | |
| tree | 71926f3b3ea76abacea9e1f533bafa74236e5867 | |
| parent | 7ff09d05f2023ce8eb26acc46da22f8d86743de5 (diff) | |
SL-11907 Fixed assigning permissions to environment when using "Save As"
| -rw-r--r-- | indra/newview/llfloatereditextdaycycle.cpp | 9 | ||||
| -rw-r--r-- | indra/newview/llfloatereditextdaycycle.h | 2 | ||||
| -rw-r--r-- | indra/newview/llfloaterfixedenvironment.cpp | 8 | ||||
| -rw-r--r-- | indra/newview/llfloaterfixedenvironment.h | 2 | 
4 files changed, 12 insertions, 9 deletions
| diff --git a/indra/newview/llfloatereditextdaycycle.cpp b/indra/newview/llfloatereditextdaycycle.cpp index cb2f5dbb1d..c92eed42cd 100644 --- a/indra/newview/llfloatereditextdaycycle.cpp +++ b/indra/newview/llfloatereditextdaycycle.cpp @@ -1428,7 +1428,7 @@ LLFloaterEditExtDayCycle::connection_t LLFloaterEditExtDayCycle::setEditCommitSi      return mCommitSignal.connect(cb);  } -void LLFloaterEditExtDayCycle::loadInventoryItem(const LLUUID  &inventoryId) +void LLFloaterEditExtDayCycle::loadInventoryItem(const LLUUID  &inventoryId, bool can_trans)  {      if (inventoryId.isNull())      { @@ -1471,7 +1471,7 @@ void LLFloaterEditExtDayCycle::loadInventoryItem(const LLUUID  &inventoryId)      mCanSave = true;      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());      mExpectingAssetId = mInventoryItem->getAssetUUID();      LLSettingsVOBase::getSettingsAsset(mInventoryItem->getAssetUUID(), @@ -1799,7 +1799,7 @@ void LLFloaterEditExtDayCycle::onInventoryCreated(LLUUID asset_id, LLUUID invent  void LLFloaterEditExtDayCycle::onInventoryCreated(LLUUID asset_id, LLUUID inventory_id)  { - +    bool can_trans = true;      if (mInventoryItem)      {          LLPermissions perms = mInventoryItem->getPermissions(); @@ -1808,6 +1808,7 @@ void LLFloaterEditExtDayCycle::onInventoryCreated(LLUUID asset_id, LLUUID invent          if (created_item)          { +            can_trans = perms.allowOperationBy(PERM_TRANSFER, gAgent.getID());              created_item->setPermissions(perms);              created_item->updateServer(false);          } @@ -1815,7 +1816,7 @@ void LLFloaterEditExtDayCycle::onInventoryCreated(LLUUID asset_id, LLUUID invent      clearDirtyFlag();      setFocus(TRUE);                 // Call back the focus... -    loadInventoryItem(inventory_id); +    loadInventoryItem(inventory_id, can_trans);  }  void LLFloaterEditExtDayCycle::onInventoryUpdated(LLUUID asset_id, LLUUID inventory_id, LLSD results) diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h index 83ce69cff3..b6e9fdb14f 100644 --- a/indra/newview/llfloatereditextdaycycle.h +++ b/indra/newview/llfloatereditextdaycycle.h @@ -148,7 +148,7 @@ private:      void                        removeCurrentSliderFrame();      void                        removeSliderFrame(F32 frame); -    void                        loadInventoryItem(const LLUUID  &inventoryId); +    void                        loadInventoryItem(const LLUUID  &inventoryId, bool can_trans = true);      void                        onAssetLoaded(LLUUID asset_id, LLSettingsBase::ptr_t settings, S32 status);      void                        doImportFromDisk(); diff --git a/indra/newview/llfloaterfixedenvironment.cpp b/indra/newview/llfloaterfixedenvironment.cpp index f564dce629..38b1f5066d 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); }); @@ -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) diff --git a/indra/newview/llfloaterfixedenvironment.h b/indra/newview/llfloaterfixedenvironment.h index 84feaa1a20..513996c4a3 100644 --- a/indra/newview/llfloaterfixedenvironment.h +++ b/indra/newview/llfloaterfixedenvironment.h @@ -76,7 +76,7 @@ protected:      LLFloaterSettingsPicker *getSettingsPicker(); -    void                    loadInventoryItem(const LLUUID  &inventoryId); +    void                    loadInventoryItem(const LLUUID  &inventoryId, bool can_trans = true);      void                    checkAndConfirmSettingsLoss(on_confirm_fn cb); | 
