summaryrefslogtreecommitdiff
path: root/indra/tools/vstool
diff options
context:
space:
mode:
authorWilliam Weaver <paperwork.resident@gmail.com>2025-04-04 16:02:08 +0300
committerWilliam Weaver <paperwork.resident@gmail.com>2025-04-04 16:02:08 +0300
commit1fcabcdd324305ccfafb59b9c9ef5e04ef859a4d (patch)
tree361eed1c3ca39a07dccba7364165e2ae7b447c9b /indra/tools/vstool
parent7c35a02225743f4d6e0ebee2d488e1f4fd48d86b (diff)
Fix(EnvAdjust): Properly update sky after cloud texture selection
Problem: When selecting a new cloud texture in the Personal Lighting floater (LLFloaterEnvironmentAdjust), the sky did not visually update. The code previously only updated LiveSky->setCloudNoiseTextureId() and called mLiveSky->update(), which failed to notify the global LLEnvironment mechanism or the renderer about the new texture. Cause: Relying solely on mLiveSky for environment changes is insufficient. To update the live environment layer (ENV_LOCAL) and trigger a render refresh, calls to LLEnvironment::setEnvironment() and LLEnvironment::updateEnvironment() are required. Solution: 1. Remove an unnecessary null-check for getChild<LLTextureCtrl>, as getChild() never returns null. 2. Clone the current sky settings (mLiveSky->buildClone()) to avoid modifying a shared environment object directly. 3. Apply the new cloud texture ID to the clone. 4. Use LLEnvironment::setEnvironment(ENV_LOCAL, sky_to_set) to apply the updated settings to the user's local environment override. 5. Call LLEnvironment::updateEnvironment(LLEnvironment::TRANSITION_INSTANT, true) to ensure the renderer recognizes and displays the updated texture immediately. 6. Reset the picker control’s value to match the newly applied texture for UI consistency. Additional Note: A partial implementation was inadvertently committed earlier (commit`04af042`) due to a local staging error. This commit supersedes that incomplete change by correctly implementing the intended fix. Result: Selecting a new cloud texture from LLFloaterEnvironmentAdjust now immediately updates both the in-world sky rendering and the texture preview UI, ensuring consistency and clarity for users. Testing: - Open the Personal Lighting floater and select various cloud textures. - Verify that the sky updates immediately for each new selection. - Confirm that the texture picker also updates to reflect the selected texture.
Diffstat (limited to 'indra/tools/vstool')
0 files changed, 0 insertions, 0 deletions