viewer#2006 Fixed terrain textures not updating in the "Region/Estate" floater

master
Andrey Kleshchev 2024-07-12 21:44:25 +03:00 committed by Andrey Kleshchev
parent 27a2531c5b
commit c8310aaea2
1 changed files with 17 additions and 9 deletions

View File

@ -3147,16 +3147,24 @@ void LLViewerRegion::unpackRegionHandshake()
compp->setParamsReady();
}
LLPBRTerrainFeatures::queueQuery(*this, [](LLUUID region_id, bool success, const LLModifyRegion& composition_changes)
std::string cap = getCapability("ModifyRegion"); // needed for queueQuery
if (cap.empty())
{
if (!success) { return; }
LLViewerRegion* region = LLWorld::getInstance()->getRegionFromID(region_id);
if (!region) { return; }
LLVLComposition* compp = region->getComposition();
if (!compp) { return; }
compp->apply(composition_changes);
LLFloaterRegionInfo::sRefreshFromRegion(region);
});
LLFloaterRegionInfo::sRefreshFromRegion(this);
}
else
{
LLPBRTerrainFeatures::queueQuery(*this, [](LLUUID region_id, bool success, const LLModifyRegion& composition_changes)
{
if (!success) { return; }
LLViewerRegion* region = LLWorld::getInstance()->getRegionFromID(region_id);
if (!region) { return; }
LLVLComposition* compp = region->getComposition();
if (!compp) { return; }
compp->apply(composition_changes);
LLFloaterRegionInfo::sRefreshFromRegion(region);
});
}
}