diff options
Diffstat (limited to 'indra')
-rw-r--r-- | indra/llinventory/llsettingsbase.cpp | 81 | ||||
-rw-r--r-- | indra/llinventory/llsettingsdaycycle.cpp | 20 | ||||
-rw-r--r-- | indra/newview/llenvironment.cpp | 161 | ||||
-rw-r--r-- | indra/newview/llenvironment.h | 4 | ||||
-rw-r--r-- | indra/newview/llwlhandlers.cpp | 6 |
5 files changed, 69 insertions, 203 deletions
diff --git a/indra/llinventory/llsettingsbase.cpp b/indra/llinventory/llsettingsbase.cpp index ffeae8677f..7ade345168 100644 --- a/indra/llinventory/llsettingsbase.cpp +++ b/indra/llinventory/llsettingsbase.cpp @@ -262,57 +262,6 @@ size_t LLSettingsBase::getHash() const return boost::hash<LLSD>{}(hash_settings); } -#ifdef VALIDATION_DEBUG -namespace -{ - bool compare_llsd(LLSD valA, LLSD valB) - { - if (valA.type() != valB.type()) - return false; - - switch (valA.type()) - { - // case LLSD::TypeMap: - // newSettings[key_name] = combineSDMaps(value, LLSD()); - // break; - case LLSD::TypeArray: - if (valA.size() != valB.size()) - return false; - - for (S32 idx = 0; idx < valA.size(); ++idx) - { - if (!compare_llsd(valA[idx], valB[idx])) - return false; - } - return true; - - case LLSD::TypeInteger: - return valA.asInteger() == valB.asInteger(); - - case LLSD::TypeReal: - return is_approx_equal(valA.asReal(), valB.asReal()); - - case LLSD::TypeBoolean: - return valA.asBoolean() == valB.asBoolean(); - - case LLSD::TypeString: - return valA.asString() == valB.asString(); - - case LLSD::TypeUUID: - return valA.asUUID() == valB.asUUID(); - - case LLSD::TypeURI: - return valA.asString() == valB.asString(); - - case LLSD::TypeDate: - return valA.asDate() == valB.asDate(); - } - - return true; - } -} -#endif - bool LLSettingsBase::validate() { validation_list_t validations = getValidationList(); @@ -378,35 +327,17 @@ LLSD LLSettingsBase::settingValidation(LLSD &settings, validation_list_t &valida validated.insert(validateType.getName()); // Fields for specific settings. - for (validation_list_t::iterator itv = validations.begin(); itv != validations.end(); ++itv) + for (auto &test: validations) { -#ifdef VALIDATION_DEBUG - LLSD oldvalue; - if (settings.has((*itv).getName())) - { - oldvalue = llsd_clone(mSettings[(*itv).getName()]); - } -#endif - - if (!(*itv).verify(settings)) + if (!test.verify(settings)) { std::stringstream errtext; - errtext << "Settings LLSD fails validation and could not be corrected for '" << (*itv).getName() << "'!"; + errtext << "Settings LLSD fails validation and could not be corrected for '" << test.getName() << "'!"; errors.append( errtext.str() ); isValid = false; } - validated.insert((*itv).getName()); - -#ifdef VALIDATION_DEBUG - if (!oldvalue.isUndefined()) - { - if (!compare_llsd(settings[(*itv).getName()], oldvalue)) - { - LL_WARNS("SETTINGS") << "Setting '" << (*itv).getName() << "' was changed: " << oldvalue << " -> " << settings[(*itv).getName()] << LL_ENDL; - } - } -#endif + validated.insert(test.getName()); } // strip extra entries @@ -422,9 +353,9 @@ LLSD LLSettingsBase::settingValidation(LLSD &settings, validation_list_t &valida } } - for (stringset_t::iterator its = strip.begin(); its != strip.end(); ++its) + for (const std::string &its: strip) { - settings.erase(*its); + settings.erase(its); } return LLSDMap("success", LLSD::Boolean(isValid)) diff --git a/indra/llinventory/llsettingsdaycycle.cpp b/indra/llinventory/llsettingsdaycycle.cpp index 3abf76175f..a689dd3710 100644 --- a/indra/llinventory/llsettingsdaycycle.cpp +++ b/indra/llinventory/llsettingsdaycycle.cpp @@ -131,20 +131,20 @@ LLSD LLSettingsDay::getSettings() const LLSD tracks(LLSD::emptyArray()); - for (CycleList_t::const_iterator itTrack = mDayTracks.begin(); itTrack != mDayTracks.end(); ++itTrack) + for (auto &track: mDayTracks) { LLSD trackout(LLSD::emptyArray()); - for (CycleTrack_t::const_iterator itFrame = (*itTrack).begin(); itFrame != (*itTrack).end(); ++itFrame) + for (auto &frame: track) { - F32 frame = (*itFrame).first; - LLSettingsBase::ptr_t data = (*itFrame).second; + F32 frame_time = frame.first; + LLSettingsBase::ptr_t data = frame.second; size_t datahash = data->getHash(); std::stringstream keyname; keyname << datahash; - trackout.append(LLSD(LLSDMap(SETTING_KEYKFRAME, LLSD::Real(frame))(SETTING_KEYNAME, keyname.str()))); + trackout.append(LLSD(LLSDMap(SETTING_KEYKFRAME, LLSD::Real(frame_time))(SETTING_KEYNAME, keyname.str()))); in_use[keyname.str()] = data; } tracks.append(trackout); @@ -152,12 +152,12 @@ LLSD LLSettingsDay::getSettings() const settings[SETTING_TRACKS] = tracks; LLSD frames(LLSD::emptyMap()); - for (std::map<std::string, LLSettingsBase::ptr_t>::iterator itFrame = in_use.begin(); itFrame != in_use.end(); ++itFrame) + for (auto &used_frame: in_use) { - LLSD framesettings = llsd_clone((*itFrame).second->getSettings(), + LLSD framesettings = llsd_clone(used_frame.second->getSettings(), LLSDMap("*", true)(SETTING_NAME, false)(SETTING_ID, false)(SETTING_HASH, false)); - frames[(*itFrame).first] = framesettings; + frames[used_frame.first] = framesettings; } settings[SETTING_FRAMES] = frames; @@ -465,9 +465,9 @@ LLSettingsDay::KeyframeList_t LLSettingsDay::getTrackKeyframes(S32 trackno) keyframes.reserve(track.size()); - for (CycleTrack_t::iterator it = track.begin(); it != track.end(); ++it) + for (auto &frame: track) { - keyframes.push_back((*it).first); + keyframes.push_back(frame.first); } return keyframes; diff --git a/indra/newview/llenvironment.cpp b/indra/newview/llenvironment.cpp index cf5a68fdd2..c67fcf880e 100644 --- a/indra/newview/llenvironment.cpp +++ b/indra/newview/llenvironment.cpp @@ -367,23 +367,6 @@ void LLEnvironment::updateEnvironment(F64Seconds transition) trans->animate(); mCurrentEnvironment = trans; -// -// LLSettingsSky::ptr_t psky = mCurrentEnvironment->getSky(); -// LLSettingsWater::ptr_t pwater = mCurrentEnvironment->getWater(); -// -// LLSettingsSky::ptr_t ptargetsky = psky->buildClone(); -// LLSettingsWater::ptr_t ptargetwater = pwater->buildClone(); -// -// LLSettingsBlender::ptr_t skyblend = std::make_shared<LLSettingsBlender>(ptargetsky, psky, pinstance->getSky(), transition); -// skyblend->setOnFinished(boost::bind(&LLEnvironment::onTransitionDone, this, _1, true)); -// LLSettingsBlender::ptr_t waterblend = std::make_shared<LLSettingsBlender>(ptargetwater, pwater, pinstance->getWater(), transition); -// waterblend->setOnFinished(boost::bind(&LLEnvironment::onTransitionDone, this, _1, false)); -// -// pinstance->setBlenders(skyblend, waterblend); -// -// mCurrentEnvironment = pinstance; -// -// mCurrentEnvironment->animate(); } } @@ -402,11 +385,6 @@ void LLEnvironment::update(const LLViewerCamera * cam) F32Seconds delta(timer.getElapsedTimeAndResetF32()); -// for (InstanceArray_t::reverse_iterator it = mEnvironments.rbegin(); it != mEnvironments.rend(); ++it) -// { -// if (*it) -// (*it)->update(delta); -// } mCurrentEnvironment->update(delta); // update clouds, sun, and general @@ -460,28 +438,28 @@ void LLEnvironment::updateGLVariablesForSettings(LLGLSLShader *shader, const LLS //_WARNS("RIDER") << "----------------------------------------------------------------" << LL_ENDL; LLSettingsBase::parammapping_t params = psetting->getParameterMap(); - for (LLSettingsBase::parammapping_t::iterator it = params.begin(); it != params.end(); ++it) + for (auto &it: params) { - if (!psetting->mSettings.has((*it).first)) + if (!psetting->mSettings.has(it.first)) continue; - LLSD value = psetting->mSettings[(*it).first]; + LLSD value = psetting->mSettings[it.first]; LLSD::Type setting_type = value.type(); stop_glerror(); switch (setting_type) { case LLSD::TypeInteger: - shader->uniform1i((*it).second, value.asInteger()); + shader->uniform1i(it.second, value.asInteger()); //_WARNS("RIDER") << "pushing '" << (*it).first << "' as " << value << LL_ENDL; break; case LLSD::TypeReal: - shader->uniform1f((*it).second, value.asReal()); + shader->uniform1f(it.second, value.asReal()); //_WARNS("RIDER") << "pushing '" << (*it).first << "' as " << value << LL_ENDL; break; case LLSD::TypeBoolean: - shader->uniform1i((*it).second, value.asBoolean() ? 1 : 0); + shader->uniform1i(it.second, value.asBoolean() ? 1 : 0); //_WARNS("RIDER") << "pushing '" << (*it).first << "' as " << value << LL_ENDL; break; @@ -489,7 +467,7 @@ void LLEnvironment::updateGLVariablesForSettings(LLGLSLShader *shader, const LLS { LLVector4 vect4(value); //_WARNS("RIDER") << "pushing '" << (*it).first << "' as " << vect4 << LL_ENDL; - shader->uniform4fv((*it).second, 1, vect4.mV); + shader->uniform4fv(it.second, 1, vect4.mV); break; } @@ -551,9 +529,9 @@ LLEnvironment::list_name_id_t LLEnvironment::getSkyList() const list.reserve(mSkysByName.size()); - for (namedSettingMap_t::const_iterator it = mSkysByName.begin(); it != mSkysByName.end(); ++it) + for (auto &it: mSkysByName) { - list.push_back(std::vector<name_id_t>::value_type((*it).second->getName(), (*it).second->getId())); + list.push_back(std::vector<name_id_t>::value_type(it.second->getName(), it.second->getId())); } return list; @@ -565,9 +543,9 @@ LLEnvironment::list_name_id_t LLEnvironment::getWaterList() const list.reserve(mWaterByName.size()); - for (namedSettingMap_t::const_iterator it = mWaterByName.begin(); it != mWaterByName.end(); ++it) + for (auto &it : mWaterByName) { - list.push_back(std::vector<name_id_t>::value_type((*it).second->getName(), (*it).second->getId())); + list.push_back(std::vector<name_id_t>::value_type(it.second->getName(), it.second->getId())); } return list; @@ -579,9 +557,9 @@ LLEnvironment::list_name_id_t LLEnvironment::getDayCycleList() const list.reserve(mDayCycleByName.size()); - for (namedSettingMap_t::const_iterator it = mDayCycleByName.begin(); it != mDayCycleByName.end(); ++it) + for (auto &it: mDayCycleByName) { - list.push_back(std::vector<name_id_t>::value_type((*it).second->getName(), (*it).second->getId())); + list.push_back(std::vector<name_id_t>::value_type(it.second->getName(), it.second->getId())); } return list; @@ -593,8 +571,7 @@ void LLEnvironment::addSky(const LLSettingsSky::ptr_t &sky) LL_WARNS("RIDER") << "Adding sky as '" << name << "'" << LL_ENDL; - std::pair<namedSettingMap_t::iterator, bool> result; - result = mSkysByName.insert(namedSettingMap_t::value_type(name, sky)); + auto result = mSkysByName.insert(namedSettingMap_t::value_type(name, sky)); // auto should be: std::pair<namedSettingMap_t::iterator, bool> if (!result.second) (*(result.first)).second = sky; @@ -603,7 +580,7 @@ void LLEnvironment::addSky(const LLSettingsSky::ptr_t &sky) void LLEnvironment::removeSky(const std::string &name) { - namedSettingMap_t::iterator it = mSkysByName.find(name); + auto it = mSkysByName.find(name); if (it != mSkysByName.end()) mSkysByName.erase(it); mSkyListChange(); @@ -622,8 +599,7 @@ void LLEnvironment::addWater(const LLSettingsWater::ptr_t &water) LL_WARNS("RIDER") << "Adding water as '" << name << "'" << LL_ENDL; - std::pair<namedSettingMap_t::iterator, bool> result; - result = mWaterByName.insert(namedSettingMap_t::value_type(name, water)); + auto result = mWaterByName.insert(namedSettingMap_t::value_type(name, water)); if (!result.second) (*(result.first)).second = water; @@ -633,7 +609,7 @@ void LLEnvironment::addWater(const LLSettingsWater::ptr_t &water) void LLEnvironment::removeWater(const std::string &name) { - namedSettingMap_t::iterator it = mWaterByName.find(name); + auto it = mWaterByName.find(name); if (it != mWaterByName.end()) mWaterByName.erase(it); mWaterListChange(); @@ -652,8 +628,7 @@ void LLEnvironment::addDayCycle(const LLSettingsDay::ptr_t &daycycle) LL_WARNS("RIDER") << "Adding daycycle as '" << name << "'" << LL_ENDL; - std::pair<namedSettingMap_t::iterator, bool> result; - result = mDayCycleByName.insert(namedSettingMap_t::value_type(name, daycycle)); + auto result = mDayCycleByName.insert(namedSettingMap_t::value_type(name, daycycle)); if (!result.second) (*(result.first)).second = daycycle; @@ -664,7 +639,7 @@ void LLEnvironment::addDayCycle(const LLSettingsDay::ptr_t &daycycle) void LLEnvironment::removeDayCycle(const std::string &name) { - namedSettingMap_t::iterator it = mDayCycleByName.find(name); + auto it = mDayCycleByName.find(name); if (it != mDayCycleByName.end()) mDayCycleByName.erase(it); mDayCycleListChange(); @@ -680,7 +655,7 @@ void LLEnvironment::clearAllDayCycles() LLSettingsSky::ptr_t LLEnvironment::findSkyByName(std::string name) const { - namedSettingMap_t::const_iterator it = mSkysByName.find(name); + auto it = mSkysByName.find(name); if (it == mSkysByName.end()) { @@ -693,7 +668,7 @@ LLSettingsSky::ptr_t LLEnvironment::findSkyByName(std::string name) const LLSettingsWater::ptr_t LLEnvironment::findWaterByName(std::string name) const { - namedSettingMap_t::const_iterator it = mWaterByName.find(name); + auto it = mWaterByName.find(name); if (it == mWaterByName.end()) { @@ -706,7 +681,7 @@ LLSettingsWater::ptr_t LLEnvironment::findWaterByName(std::string name) const LLSettingsDay::ptr_t LLEnvironment::findDayCycleByName(std::string name) const { - namedSettingMap_t::const_iterator it = mDayCycleByName.find(name); + auto it = mDayCycleByName.find(name); if (it == mDayCycleByName.end()) { @@ -735,27 +710,6 @@ void LLEnvironment::recordEnvironment(S32 parcel_id, LLEnvironment::EnvironmentI LL_WARNS("LAPRAS") << "Had requested parcel environment #" << parcel_id << " but got region." << LL_ENDL; clearEnvironment(ENV_PARCEL); } -// LLViewerRegion *pRegion = gAgent.getRegion(); -// -// pRegion->setDayLength(envinfo->mDayLength); -// pRegion->setDayOffset(envinfo->mDayOffset); -// pRegion->setIsDefaultDayCycle(envinfo->mIsDefault); -// if (pRegion->getRegionDayCycleHash() != envinfo->mDayHash) -// { -// pRegion->setRegionDayCycle(pday); -// pRegion->setRegionDayCycleHash(envinfo->mDayHash); -// } -// -// if (parcel_id != INVALID_PARCEL_ID) -// { // We requested a parcel environment but got back the region's. If this is the parcel we are in -// // clear it out. -// LLParcel *parcel = LLViewerParcelMgr::instance().getAgentParcel(); -// -// if (parcel->getLocalID() == parcel_id) -// { -// parcel->clearParcelDayCycleInfo(); -// } -// } } else { @@ -769,20 +723,6 @@ void LLEnvironment::recordEnvironment(S32 parcel_id, LLEnvironment::EnvironmentI } setEnvironment(ENV_PARCEL, pday, envinfo->mDayLength, envinfo->mDayOffset); -// LLParcel *parcel = LLViewerParcelMgr::instance().getAgentParcel(); -// -// if (parcel->getLocalID() == parcel_id) -// { -// parcel->setDayLength(envinfo->mDayLength); -// parcel->setDayOffset(envinfo->mDayOffset); -// parcel->setUsesDefaultDayCycle(envinfo->mIsDefault); -// if (parcel->getParcelDayCycleHash() != envinfo->mDayHash) -// { -// parcel->setParcelDayCycle(pday); -// parcel->setParcelDayCycleHash(envinfo->mDayHash); -// } -// -// } } /*TODO: track_altitudes*/ @@ -819,32 +759,27 @@ void LLEnvironment::resetRegion() void LLEnvironment::requestParcel(S32 parcel_id) { - environment_apply_fn apply = boost::bind(&LLEnvironment::recordEnvironment, this, _1, _2); - std::string coroname = LLCoros::instance().launch("LLEnvironment::coroRequestEnvironment", - boost::bind(&LLEnvironment::coroRequestEnvironment, this, parcel_id, apply)); - + boost::bind(&LLEnvironment::coroRequestEnvironment, this, parcel_id, + [this](S32 pid, EnvironmentInfo::ptr_t envinfo) { recordEnvironment(pid, envinfo); })); } void LLEnvironment::updateParcel(S32 parcel_id, LLSettingsDay::ptr_t &pday, S32 day_length, S32 day_offset) { - environment_apply_fn apply = boost::bind(&LLEnvironment::recordEnvironment, this, _1, _2); - std::string coroname = LLCoros::instance().launch("LLEnvironment::coroUpdateEnvironment", boost::bind(&LLEnvironment::coroUpdateEnvironment, this, parcel_id, - pday, day_length, day_offset, apply)); - + pday, day_length, day_offset, + [this](S32 pid, EnvironmentInfo::ptr_t envinfo) { recordEnvironment(pid, envinfo); })); } void LLEnvironment::resetParcel(S32 parcel_id) { - environment_apply_fn apply = boost::bind(&LLEnvironment::recordEnvironment, this, _1, _2); - std::string coroname = LLCoros::instance().launch("LLEnvironment::coroResetEnvironment", - boost::bind(&LLEnvironment::coroResetEnvironment, this, parcel_id, apply)); + boost::bind(&LLEnvironment::coroResetEnvironment, this, parcel_id, + [this](S32 pid, EnvironmentInfo::ptr_t envinfo) { recordEnvironment(pid, envinfo); })); } void LLEnvironment::coroRequestEnvironment(S32 parcel_id, LLEnvironment::environment_apply_fn apply) @@ -890,7 +825,7 @@ void LLEnvironment::coroRequestEnvironment(S32 parcel_id, LLEnvironment::environ else { LLSD environment = result["environment"]; - if (environment.isDefined() && !apply.empty()) + if (environment.isDefined() && apply) { EnvironmentInfo::ptr_t envinfo = LLEnvironment::EnvironmentInfo::extract(environment); apply(parcel_id, envinfo); @@ -953,7 +888,7 @@ void LLEnvironment::coroUpdateEnvironment(S32 parcel_id, LLSettingsDay::ptr_t pd else { LLSD environment = result["environment"]; - if (environment.isDefined() && !apply.empty()) + if (environment.isDefined() && apply) { EnvironmentInfo::ptr_t envinfo = LLEnvironment::EnvironmentInfo::extract(environment); apply(parcel_id, envinfo); @@ -1004,7 +939,7 @@ void LLEnvironment::coroResetEnvironment(S32 parcel_id, environment_apply_fn app else { LLSD environment = result["environment"]; - if (environment.isDefined() && !apply.empty()) + if (environment.isDefined() && apply) { EnvironmentInfo::ptr_t envinfo = LLEnvironment::EnvironmentInfo::extract(environment); apply(parcel_id, envinfo); @@ -1456,7 +1391,10 @@ void LLEnvironment::DayInstance::animate() mWater = std::static_pointer_cast<LLSettingsVOWater>((*bounds.first).second)->buildClone(); mBlenderWater = std::make_shared<LLSettingsBlender>(mWater, (*bounds.first).second, (*bounds.second).second, timespan); - mBlenderWater->setOnFinished(boost::bind(&LLEnvironment::DayInstance::onTrackTransitionDone, this, 0, _1)); + mBlenderWater->setOnFinished( + [this](LLSettingsBlender::ptr_t blender) { onTrackTransitionDone(0, blender); }); + + } // Day track 1 only for the moment @@ -1481,7 +1419,8 @@ void LLEnvironment::DayInstance::animate() mSky = std::static_pointer_cast<LLSettingsVOSky>((*bounds.first).second)->buildClone(); mBlenderSky = std::make_shared<LLSettingsBlender>(mSky, (*bounds.first).second, (*bounds.second).second, timespan); - mBlenderSky->setOnFinished(boost::bind(&LLEnvironment::DayInstance::onTrackTransitionDone, this, 1, _1)); + mBlenderSky->setOnFinished( + [this](LLSettingsBlender::ptr_t blender) { onTrackTransitionDone(1, blender); }); } } @@ -1530,23 +1469,21 @@ void LLEnvironment::DayTransition::animate() mWater = mStartWater->buildClone(); mBlenderWater = std::make_shared<LLSettingsBlender>(mWater, mStartWater, mNextInstance->getWater(), mTransitionTime); - mBlenderWater->setOnFinished(boost::bind(&LLEnvironment::DayTransition::onTransitonDone, this, LLSettingsDay::TRACK_WATER, _1)); + mBlenderWater->setOnFinished( + [this](LLSettingsBlender::ptr_t blender) { + mBlenderWater.reset(); + + if (!mBlenderSky && !mBlenderWater) + LLEnvironment::instance().mCurrentEnvironment = mNextInstance; + }); mSky = mStartSky->buildClone(); mBlenderSky = std::make_shared<LLSettingsBlender>(mSky, mStartSky, mNextInstance->getSky(), mTransitionTime); - mBlenderSky->setOnFinished(boost::bind(&LLEnvironment::DayTransition::onTransitonDone, this, LLSettingsDay::TRACK_MAX, _1)); -} - - -void LLEnvironment::DayTransition::onTransitonDone(S32 trackno, const LLSettingsBlender::ptr_t blender) -{ - if (trackno == LLSettingsDay::TRACK_WATER) - mBlenderWater.reset(); - else + mBlenderSky->setOnFinished( + [this](LLSettingsBlender::ptr_t blender) { mBlenderSky.reset(); - if (!mBlenderSky && !mBlenderWater) - { - LLEnvironment::instance().mCurrentEnvironment = mNextInstance; - } + if (!mBlenderSky && !mBlenderWater) + LLEnvironment::instance().mCurrentEnvironment = mNextInstance; + }); } diff --git a/indra/newview/llenvironment.h b/indra/newview/llenvironment.h index 06bcd368dd..a7159ca84d 100644 --- a/indra/newview/llenvironment.h +++ b/indra/newview/llenvironment.h @@ -124,7 +124,7 @@ public: typedef std::pair<std::string, LLUUID> name_id_t; typedef std::vector<name_id_t> list_name_id_t; typedef boost::signals2::signal<void()> change_signal_t; - typedef boost::function<void(S32, EnvironmentInfo::ptr_t)> environment_apply_fn; + typedef std::function<void(S32, EnvironmentInfo::ptr_t)> environment_apply_fn; virtual ~LLEnvironment(); @@ -278,8 +278,6 @@ private: LLSettingsWater::ptr_t mStartWater; DayInstance::ptr_t mNextInstance; S64Seconds mTransitionTime; - - void onTransitonDone(S32 trackno, const LLSettingsBlender::ptr_t blender); }; static const F32 SUN_DELTA_YAW; diff --git a/indra/newview/llwlhandlers.cpp b/indra/newview/llwlhandlers.cpp index acec028489..6aa379e0de 100644 --- a/indra/newview/llwlhandlers.cpp +++ b/indra/newview/llwlhandlers.cpp @@ -52,7 +52,7 @@ bool LLEnvironmentRequest::initiate() if (!cur_region->capabilitiesReceived()) { LL_INFOS("WindlightCaps") << "Deferring windlight settings request until we've got region caps" << LL_ENDL; - cur_region->setCapabilitiesReceivedCallback(boost::bind(&LLEnvironmentRequest::onRegionCapsReceived, _1)); + cur_region->setCapabilitiesReceivedCallback([](LLUUID region_id) { LLEnvironmentRequest::onRegionCapsReceived(region_id); }); return false; } @@ -85,7 +85,7 @@ bool LLEnvironmentRequest::doRequest() std::string coroname = LLCoros::instance().launch("LLEnvironmentRequest::environmentRequestCoro", - boost::bind(&LLEnvironmentRequest::environmentRequestCoro, url)); + [url]() { LLEnvironmentRequest::environmentRequestCoro(url); }); LL_INFOS("WindlightCaps") << "Requesting region windlight settings via " << url << LL_ENDL; return true; @@ -178,7 +178,7 @@ bool LLEnvironmentApply::initiateRequest(const LLSD& content) std::string coroname = LLCoros::instance().launch("LLEnvironmentApply::environmentApplyCoro", - boost::bind(&LLEnvironmentApply::environmentApplyCoro, url, content)); + [url, content]() { LLEnvironmentApply::environmentApplyCoro(url, content); }); return true; } |