diff options
| author | Graham Linden <graham@lindenlab.com> | 2018-06-05 18:24:48 +0100 | 
|---|---|---|
| committer | Graham Linden <graham@lindenlab.com> | 2018-06-05 18:24:48 +0100 | 
| commit | 197fbaa7f6b4e7c6edc1d8be3c84146d7fb456cc (patch) | |
| tree | 359ea69cddf8175f1b969881946e6c7e88e0d272 | |
| parent | 4b48ebdd3433db22e811baf9c6f1542e752c82fc (diff) | |
Speculative fix for Clang not making the semantic leap on ptr_t casts.
| -rw-r--r-- | indra/newview/llfloaterfixedenvironment.cpp | 11 | 
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      {  | 
