summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGraham Linden <graham@lindenlab.com>2018-06-05 18:24:48 +0100
committerGraham Linden <graham@lindenlab.com>2018-06-05 18:24:48 +0100
commit197fbaa7f6b4e7c6edc1d8be3c84146d7fb456cc (patch)
tree359ea69cddf8175f1b969881946e6c7e88e0d272
parent4b48ebdd3433db22e811baf9c6f1542e752c82fc (diff)
Speculative fix for Clang not making the semantic leap on ptr_t casts.
-rw-r--r--indra/newview/llfloaterfixedenvironment.cpp11
1 files 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<LLSettingsSky>(mSettings);
+ LLSettingsWater::ptr_t pwater = std::dynamic_pointer_cast<LLSettingsWater>(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<LLSettingsSky>(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<LLSettingsWater>(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<LLSettingsSky>(mSettings), -1, -1);
+ LLEnvironment::instance().updateRegion(psky, -1, -1);
else if (mSettings->getSettingType() == "water")
- LLEnvironment::instance().updateRegion(std::static_pointer_cast<LLSettingsWater>(mSettings), -1, -1);
+ LLEnvironment::instance().updateRegion(pwater, -1, -1);
}
else
{