From 197fbaa7f6b4e7c6edc1d8be3c84146d7fb456cc Mon Sep 17 00:00:00 2001 From: Graham Linden Date: Tue, 5 Jun 2018 18:24:48 +0100 Subject: Speculative fix for Clang not making the semantic leap on ptr_t casts. --- indra/newview/llfloaterfixedenvironment.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/indra/newview/llfloaterfixedenvironment.cpp b/indra/newview/llfloaterfixedenvironment.cpp index e7b8481caa..ad6935ada4 100644 --- a/indra/newview/llfloaterfixedenvironment.cpp +++ b/indra/newview/llfloaterfixedenvironment.cpp @@ -285,6 +285,9 @@ void LLFloaterFixedEnvironment::doApplyUpdateInventory() void LLFloaterFixedEnvironment::doApplyEnvironment(const std::string &where) { + LLSettingsSky::ptr_t psky = std::dynamic_pointer_cast(mSettings); + LLSettingsWater::ptr_t pwater = std::dynamic_pointer_cast(mSettings); + if (where == ACTION_APPLY_LOCAL) { LLEnvironment::instance().setEnvironment(LLEnvironment::ENV_LOCAL, mSettings); @@ -303,16 +306,16 @@ void LLFloaterFixedEnvironment::doApplyEnvironment(const std::string &where) return; if (mSettings->getSettingType() == "sky") - LLEnvironment::instance().updateParcel(parcel->getLocalID(), std::static_pointer_cast(mSettings), -1, -1); + LLEnvironment::instance().updateParcel(parcel->getLocalID(), psky, -1, -1); else if (mSettings->getSettingType() == "water") - LLEnvironment::instance().updateParcel(parcel->getLocalID(), std::static_pointer_cast(mSettings), -1, -1); + LLEnvironment::instance().updateParcel(parcel->getLocalID(), pwater, -1, -1); } else if (where == ACTION_APPLY_REGION) { if (mSettings->getSettingType() == "sky") - LLEnvironment::instance().updateRegion(std::static_pointer_cast(mSettings), -1, -1); + LLEnvironment::instance().updateRegion(psky, -1, -1); else if (mSettings->getSettingType() == "water") - LLEnvironment::instance().updateRegion(std::static_pointer_cast(mSettings), -1, -1); + LLEnvironment::instance().updateRegion(pwater, -1, -1); } else { -- cgit v1.2.3