diff options
author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2024-07-12 21:44:25 +0300 |
---|---|---|
committer | Andrey Kleshchev <117672381+akleshchev@users.noreply.github.com> | 2024-07-16 10:17:50 +0300 |
commit | c8310aaea2fe6af7b66780c32afb226d1b4dc2ad (patch) | |
tree | f3629a028d2e859835637f6e5058337cbc18a740 /indra | |
parent | 27a2531c5bf375ed208d8fd5764a8797f08ce831 (diff) |
viewer#2006 Fixed terrain textures not updating in the "Region/Estate" floater
Diffstat (limited to 'indra')
-rwxr-xr-x | indra/newview/llviewerregion.cpp | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp index 25c07a5ff9..7623ab56a5 100755 --- a/indra/newview/llviewerregion.cpp +++ b/indra/newview/llviewerregion.cpp @@ -3147,16 +3147,24 @@ void LLViewerRegion::unpackRegionHandshake() compp->setParamsReady(); } - 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); - }); + std::string cap = getCapability("ModifyRegion"); // needed for queueQuery + if (cap.empty()) + { + 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); + }); + } } |