From 9f47542597b2902a500be11e8083c608db39350a Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Wed, 11 Dec 2024 22:21:49 +0200 Subject: #3265 Crash at getAllowEnvironmentOverride Check region pointer and make sure external callbacks get disconected --- indra/newview/llpanelenvironment.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'indra/newview/llpanelenvironment.cpp') diff --git a/indra/newview/llpanelenvironment.cpp b/indra/newview/llpanelenvironment.cpp index d3df88b65e..831ad7827a 100644 --- a/indra/newview/llpanelenvironment.cpp +++ b/indra/newview/llpanelenvironment.cpp @@ -359,12 +359,14 @@ void LLPanelEnvironmentInfo::refresh() void LLPanelEnvironmentInfo::refreshFromEstate() { - LLViewerRegion *pRegion = gAgent.getRegion(); - - bool oldAO = mAllowOverride; - mAllowOverride = (isRegion() && LLEstateInfoModel::instance().getAllowEnvironmentOverride()) || pRegion->getAllowEnvironmentOverride(); - if (oldAO != mAllowOverride) - refresh(); + LLViewerRegion* pRegion = gAgent.getRegion(); + if (pRegion) + { + bool oldAO = mAllowOverride; + mAllowOverride = (isRegion() && LLEstateInfoModel::instance().getAllowEnvironmentOverride()) || pRegion->getAllowEnvironmentOverride(); + if (oldAO != mAllowOverride) + refresh(); + } } std::string LLPanelEnvironmentInfo::getNameForTrackIndex(U32 index) -- cgit v1.2.3