diff --git a/indra/newview/llenvironment.cpp b/indra/newview/llenvironment.cpp index 580d0e785a3f6cd63302799865c6045f84e6a100..3a030bb09d87632e8f2a96e1601edd74b7c8ab94 100644 --- a/indra/newview/llenvironment.cpp +++ b/indra/newview/llenvironment.cpp @@ -1731,6 +1731,13 @@ void LLEnvironment::clearExperienceEnvironment(LLUUID experience_id, F32 transit updateEnvironment(LLSettingsBase::Seconds(transition_time)); } +void LLEnvironment::setSharedEnvironment() +{ + clearEnvironment(LLEnvironment::ENV_LOCAL); + setSelectedEnvironment(LLEnvironment::ENV_LOCAL); + updateEnvironment(); +} + void LLEnvironment::setExperienceEnvironment(LLUUID experience_id, LLUUID asset_id, F32 transition_time) { LLSettingsVOBase::getSettingsAsset(asset_id, diff --git a/indra/newview/llenvironment.h b/indra/newview/llenvironment.h index 55881f1c7501835152b935f7d94b6a52366d5fea..7e35fdcfac092750b94bdf6a8b7121142f89022d 100644 --- a/indra/newview/llenvironment.h +++ b/indra/newview/llenvironment.h @@ -144,6 +144,8 @@ class LLEnvironment : public LLSingleton<LLEnvironment> void setEnvironment(EnvSelection_t env, const LLUUID &assetId, LLSettingsDay::Seconds daylength, LLSettingsDay::Seconds dayoffset); void setEnvironment(EnvSelection_t env, const LLUUID &assetId); + void setSharedEnvironment(); + void clearEnvironment(EnvSelection_t env); LLSettingsDay::ptr_t getEnvironmentDay(EnvSelection_t env); LLSettingsDay::Seconds getEnvironmentDayLength(EnvSelection_t env); diff --git a/indra/newview/llfloatermyenvironment.cpp b/indra/newview/llfloatermyenvironment.cpp index c34ca9e458bb43b72b937d780af1acda7cac6d67..f93d7ce8ed3791f7cd41288e87abb53da56f1301 100644 --- a/indra/newview/llfloatermyenvironment.cpp +++ b/indra/newview/llfloatermyenvironment.cpp @@ -325,6 +325,7 @@ void LLFloaterMyEnvironment::onDoApply(const std::string &context) if (context == PARAMETER_REGION) { LLEnvironment::instance().updateRegion(asset_id, name, -1, -1); + LLEnvironment::instance().setSharedEnvironment(); } else if (context == PARAMETER_PARCEL) { @@ -335,6 +336,7 @@ void LLFloaterMyEnvironment::onDoApply(const std::string &context) return; } LLEnvironment::instance().updateParcel(parcel->getLocalID(), asset_id, name, -1, -1); + LLEnvironment::instance().setSharedEnvironment(); } else if (context == PARAMETER_LOCAL) { diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index 6a5c1241084bc8ed5c9a7afd8560fd29c7be0a95..f2d418fc9db9fc0d94ee3094f1f32593885c2b66 100644 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -6945,6 +6945,7 @@ void LLSettingsBridge::performAction(LLInventoryModel* model, std::string action LL_WARNS("LAPRAS") << "Applying asset ID " << asset_id << " to parcel " << parcel_id << LL_ENDL; LLEnvironment::instance().updateParcel(parcel_id, asset_id, name, -1, -1); + LLEnvironment::instance().setSharedEnvironment(); } else LLItemBridge::performAction(model, action); diff --git a/indra/newview/skins/default/xui/en/menu_inventory.xml b/indra/newview/skins/default/xui/en/menu_inventory.xml index 9b24e2ffcfc4bb9db185996f2418885644e2040c..33ecb4477a7e907527e4097c48b580b1f345f1dd 100644 --- a/indra/newview/skins/default/xui/en/menu_inventory.xml +++ b/indra/newview/skins/default/xui/en/menu_inventory.xml @@ -879,7 +879,6 @@ <menu_item_call.on_click function="Inventory.DoToSelected" parameter="apply_settings_parcel" /> - </menu_item_call> </menu_item_call> <menu_item_separator layout="topleft"