SL-14078 Validate region id for environments
It is possible for agent to pass multiple region borders fast, resulting in environment updates affecting wrong regionsmaster
parent
480c9a0288
commit
f0bfb90056
|
|
@ -1721,6 +1721,17 @@ void LLEnvironment::updateShaderUniforms(LLGLSLShader *shader)
|
||||||
|
|
||||||
void LLEnvironment::recordEnvironment(S32 parcel_id, LLEnvironment::EnvironmentInfo::ptr_t envinfo, LLSettingsBase::Seconds transition)
|
void LLEnvironment::recordEnvironment(S32 parcel_id, LLEnvironment::EnvironmentInfo::ptr_t envinfo, LLSettingsBase::Seconds transition)
|
||||||
{
|
{
|
||||||
|
if (!gAgent.getRegion())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// mRegionId id can be null, no specification as to why and if it's valid so check valid ids only
|
||||||
|
if (gAgent.getRegion()->getRegionID() != envinfo->mRegionId && envinfo->mRegionId.notNull())
|
||||||
|
{
|
||||||
|
LL_INFOS("ENVIRONMENT") << "Requested environmend region id: " << envinfo->mRegionId << " agent is on: " << gAgent.getRegion()->getRegionID() << LL_ENDL;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (envinfo->mParcelId == INVALID_PARCEL_ID)
|
if (envinfo->mParcelId == INVALID_PARCEL_ID)
|
||||||
{
|
{
|
||||||
// the returned info applies to an entire region.
|
// the returned info applies to an entire region.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue