summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Kleshchev <117672381+akleshchev@users.noreply.github.com>2026-05-20 23:14:53 +0300
committerAndrey Kleshchev <117672381+akleshchev@users.noreply.github.com>2026-05-22 18:36:10 +0300
commit44b8fa43033eda21aaa8aa2014958effc233e044 (patch)
tree740b3818df7a763d76cb7ddde151fc71376c922c
parent71fa58ca4eedd26069211f8c42bcec6fd3beb919 (diff)
#5845 Crash in LLFloaterInspect on shutdown
-rw-r--r--indra/newview/llfloaterinspect.cpp21
-rw-r--r--indra/newview/llmanipscale.cpp6
2 files changed, 18 insertions, 9 deletions
diff --git a/indra/newview/llfloaterinspect.cpp b/indra/newview/llfloaterinspect.cpp
index 163edf0426..77a98943ac 100644
--- a/indra/newview/llfloaterinspect.cpp
+++ b/indra/newview/llfloaterinspect.cpp
@@ -78,18 +78,21 @@ LLFloaterInspect::~LLFloaterInspect(void)
{
mCreatorNameCacheConnection.disconnect();
}
- if(!LLFloaterReg::instanceVisible("build"))
+ if (!LLApp::isExiting())
{
- if(LLToolMgr::getInstance()->getBaseTool() == LLToolCompInspect::getInstance())
+ if (!LLFloaterReg::instanceVisible("build"))
{
- LLToolMgr::getInstance()->clearTransientTool();
+ if (LLToolMgr::getInstance()->getBaseTool() == LLToolCompInspect::getInstance())
+ {
+ LLToolMgr::getInstance()->clearTransientTool();
+ }
+ // Switch back to basic toolset
+ LLToolMgr::getInstance()->setCurrentToolset(gBasicToolset);
+ }
+ else
+ {
+ LLFloaterReg::showInstance("build", LLSD(), true);
}
- // Switch back to basic toolset
- LLToolMgr::getInstance()->setCurrentToolset(gBasicToolset);
- }
- else
- {
- LLFloaterReg::showInstance("build", LLSD(), true);
}
}
diff --git a/indra/newview/llmanipscale.cpp b/indra/newview/llmanipscale.cpp
index 66420d1cad..87b79fd18c 100644
--- a/indra/newview/llmanipscale.cpp
+++ b/indra/newview/llmanipscale.cpp
@@ -1309,6 +1309,12 @@ void LLManipScale::updateSnapGuides(const LLBBox& bbox)
LLVector3 grid_scale;
LLQuaternion grid_rotation;
LLSelectMgr::getInstance()->getGrid(grid_origin, grid_rotation, grid_scale);
+ LLViewerCamera* camera = LLViewerCamera::getInstance();
+ if (!camera)
+ {
+ // can be null on shutdown
+ return;
+ }
bool uniform = LLManipScale::getUniform();