From b225399a7dcf661855e84f553b12abdcf910362f Mon Sep 17 00:00:00 2001 From: Beq Date: Sun, 30 Jun 2024 15:49:06 +0100 Subject: [PATCH] FIRE-34201 - Crash on TP to Mirror Multiple different crashes seemingly caused by a long dead volume pointer. Matches multiple bug splat ids. Trigger details: have a mirror present and working. TP away, TP to a few other places. Importantly, the other places should not have any mirrors. TP back to mirror. I believe that because the probe was never overwritten by another, upon return the code tries to reuse it only to find that the pointer is garbage. The fix tries to ensure that the associated refelction map is cleaned up when the probe goes out of scope. --- indra/newview/llheroprobemanager.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/indra/newview/llheroprobemanager.cpp b/indra/newview/llheroprobemanager.cpp index be6eb48158..5d981c7ff1 100644 --- a/indra/newview/llheroprobemanager.cpp +++ b/indra/newview/llheroprobemanager.cpp @@ -221,6 +221,7 @@ void LLHeroProbeManager::update() else { mNearestHero = nullptr; + mDefaultProbe->mViewerObject = nullptr; } mHeroProbeStrength = 1; @@ -229,6 +230,7 @@ void LLHeroProbeManager::update() else { mNearestHero = nullptr; + mDefaultProbe->mViewerObject = nullptr; } // }