From a619d4e82a8f910fd309808bc7b3dde37045c958 Mon Sep 17 00:00:00 2001 From: Lirusaito Date: Sat, 2 Mar 2019 14:19:03 -0500 Subject: [PATCH] Fix running, wooopsies, cached controls cannot be global static --- indra/newview/floaterao.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/indra/newview/floaterao.cpp b/indra/newview/floaterao.cpp index 19043c8a8..5b37a0db1 100644 --- a/indra/newview/floaterao.cpp +++ b/indra/newview/floaterao.cpp @@ -36,8 +36,12 @@ void cmdline_printchat(const std::string& message); namespace { bool sSwimming = false; - const LLCachedControl sSwim(gSavedSettings, "AOSwimEnabled", false); - bool is_underwater() { return sSwim && gAgentAvatarp && gAgentAvatarp->mBelowWater; } + bool enable_swim() + { + static const LLCachedControl swim(gSavedSettings, "AOSwimEnabled", false); + return swim; + } + bool is_underwater() { return enable_swim() && gAgentAvatarp && gAgentAvatarp->mBelowWater; } } class AONotecardCallback : public LLInventoryCallback @@ -643,9 +647,9 @@ void LLFloaterAO::ChangeStand() void LLFloaterAO::toggleSwim(bool underwater) { - const LLCachedControl enabled(gSavedSettings, "AOEnabled", false); + static const LLCachedControl enabled(gSavedSettings, "AOEnabled", false); - sSwimming = underwater && sSwim; + sSwimming = underwater && enable_swim(); // Don't send requests if we have the AO disabled. if (enabled)