From 7a204dcbf1e826ea2ccdbbf46f3559d4ba999ff1 Mon Sep 17 00:00:00 2001 From: leviathan Date: Thu, 24 Sep 2026 13:34:56 -0700 Subject: fix game-control flycam and misc preferences UI --- indra/newview/llagentcamera.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'indra/newview/llagentcamera.cpp') diff --git a/indra/newview/llagentcamera.cpp b/indra/newview/llagentcamera.cpp index 43c01c8d6f..ea38ac34a3 100644 --- a/indra/newview/llagentcamera.cpp +++ b/indra/newview/llagentcamera.cpp @@ -3054,7 +3054,12 @@ void LLAgentCamera::updateFlycam(F32 delta_time) bool flycam_key_unroll_requested = mFlycamKeyboardUnrollRequested; mFlycamKeyboardUnrollRequested = false; - if ((flycam_misc_actions & LLGameControl::FLYCAM_ACTION_UNROLL) || flycam_key_unroll_requested) + // Unroll only undoes roll, and roll is already kept at zero every frame + // (LLFlycam::setRollRate()/integrate()) whenever roll is disallowed, so + // treat an Unroll request as a no-op rather than kicking off a pointless + // startReset() lerp while "Allow Roll" is unchecked. + if (LLGameControl::isFlycamRollAllowed() + && ((flycam_misc_actions & LLGameControl::FLYCAM_ACTION_UNROLL) || flycam_key_unroll_requested)) { // Re-orient the flycam in place: keep its current position and // forward (local X) axis unchanged, but unroll it so its local vertical -- cgit v1.3