diff options
-rw-r--r-- | indra/newview/llfloatereditextdaycycle.cpp | 13 | ||||
-rw-r--r-- | indra/newview/llsettingsvo.cpp | 6 |
2 files changed, 10 insertions, 9 deletions
diff --git a/indra/newview/llfloatereditextdaycycle.cpp b/indra/newview/llfloatereditextdaycycle.cpp index 958329d7e1..3eec6b18d0 100644 --- a/indra/newview/llfloatereditextdaycycle.cpp +++ b/indra/newview/llfloatereditextdaycycle.cpp @@ -1081,17 +1081,18 @@ void LLFloaterEditExtDayCycle::doApplyCreateNewInventory() // This method knows what sort of settings object to create. LLUUID parent_id = mInventoryItem ? mInventoryItem->getParentUUID() : gInventory.findCategoryUUIDForType(LLFolderType::FT_SETTINGS); - LLSettingsVOBase::createInventoryItem(mEditDay, parent_id, + // buildClone creates compressed copy + LLSettingsVOBase::createInventoryItem(mEditDay->buildClone(), parent_id, [this](LLUUID asset_id, LLUUID inventory_id, LLUUID, LLSD results) { onInventoryCreated(asset_id, inventory_id, results); }); } void LLFloaterEditExtDayCycle::doApplyUpdateInventory() { if (mInventoryId.isNull()) - LLSettingsVOBase::createInventoryItem(mEditDay, gInventory.findCategoryUUIDForType(LLFolderType::FT_SETTINGS), + LLSettingsVOBase::createInventoryItem(mEditDay->buildClone(), gInventory.findCategoryUUIDForType(LLFolderType::FT_SETTINGS), [this](LLUUID asset_id, LLUUID inventory_id, LLUUID, LLSD results) { onInventoryCreated(asset_id, inventory_id, results); }); else - LLSettingsVOBase::updateInventoryItem(mEditDay, mInventoryId, + LLSettingsVOBase::updateInventoryItem(mEditDay->buildClone(), mInventoryId, [this](LLUUID asset_id, LLUUID inventory_id, LLUUID, LLSD results) { onInventoryUpdated(asset_id, inventory_id, results); }); } @@ -1099,7 +1100,7 @@ void LLFloaterEditExtDayCycle::doApplyEnvironment(const std::string &where) { if (where == ACTION_APPLY_LOCAL) { - LLEnvironment::instance().setEnvironment(LLEnvironment::ENV_LOCAL, mEditDay); + LLEnvironment::instance().setEnvironment(LLEnvironment::ENV_LOCAL, mEditDay->buildClone()); } else if (where == ACTION_APPLY_PARCEL) { @@ -1118,11 +1119,11 @@ void LLFloaterEditExtDayCycle::doApplyEnvironment(const std::string &where) return; } - LLEnvironment::instance().updateParcel(parcel->getLocalID(), mEditDay, -1, -1); + LLEnvironment::instance().updateParcel(parcel->getLocalID(), mEditDay->buildClone(), -1, -1); } else if (where == ACTION_APPLY_REGION) { - LLEnvironment::instance().updateRegion(mEditDay, -1, -1); + LLEnvironment::instance().updateRegion(mEditDay->buildClone(), -1, -1); } else { diff --git a/indra/newview/llsettingsvo.cpp b/indra/newview/llsettingsvo.cpp index 2cdc3e79c3..b9eb1fd5c6 100644 --- a/indra/newview/llsettingsvo.cpp +++ b/indra/newview/llsettingsvo.cpp @@ -1104,9 +1104,9 @@ LLSettingsDay::ptr_t LLSettingsVODay::buildDeepCloneAndUncompress() LLSettingsDay::CycleTrack_t track = getCycleTrack(i); LLSettingsDay::CycleTrack_t::iterator iter = track.begin(); while (iter != track.end()) - {
- // 'Unpack', usually for editing
- // - frames 'share' settings multiple times
+ { + // 'Unpack', usually for editing + // - frames 'share' settings multiple times // - settings can reuse LLSDs they were initialized from // We do not want for edited frame to change multiple frames in same track, so do a clone day_clone->setSettingsAtKeyframe(iter->second->buildDerivedClone(), iter->first, i); |