From dcbb61903a31488c6c8152a840b702d449b04020 Mon Sep 17 00:00:00 2001
From: Rye Mutt <rye@alchemyviewer.org>
Date: Tue, 10 Aug 2021 08:47:51 -0400
Subject: [PATCH] Fix leak in mesh upload floater

---
 indra/newview/llfloatermodelpreview.cpp | 7 +++----
 indra/newview/llfloatermodelpreview.h   | 2 +-
 2 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/indra/newview/llfloatermodelpreview.cpp b/indra/newview/llfloatermodelpreview.cpp
index b4e62f2ef3c..d843278b22f 100644
--- a/indra/newview/llfloatermodelpreview.cpp
+++ b/indra/newview/llfloatermodelpreview.cpp
@@ -133,7 +133,7 @@ mAvatarTabIndex(0)
 	sInstance = this;
 	mLastMouseX = 0;
 	mLastMouseY = 0;
-	mStatusLock = new LLMutex();
+	mStatusLock = std::make_unique<LLMutex>();
 	mModelPreview = NULL;
 
 	mLODMode[LLModel::LOD_HIGH] = 0;
@@ -314,8 +314,7 @@ LLFloaterModelPreview::~LLFloaterModelPreview()
 		delete mModelPreview;
 	}
 
-	delete mStatusLock;
-	mStatusLock = NULL;
+    mStatusLock.reset();
 }
 
 void LLFloaterModelPreview::initModelPreview()
@@ -1659,7 +1658,7 @@ void LLFloaterModelPreview::setCtrlLoadFromFile(S32 lod)
 
 void LLFloaterModelPreview::setStatusMessage(const std::string& msg)
 {
-	LLMutexLock lock(mStatusLock);
+	LLMutexLock lock(mStatusLock.get());
 	mStatusMessage = msg;
 }
 
diff --git a/indra/newview/llfloatermodelpreview.h b/indra/newview/llfloatermodelpreview.h
index 318f2ddfe76..e522f566a2d 100644
--- a/indra/newview/llfloatermodelpreview.h
+++ b/indra/newview/llfloatermodelpreview.h
@@ -201,7 +201,7 @@ class LLFloaterModelPreview final : public LLFloaterModelUploadBase
 	// 2 - use LoD above
 	S32 mLODMode[4];
 
-	LLMutex* mStatusLock;
+	std::unique_ptr<LLMutex> mStatusLock;
 
 	LLSD mModelPhysicsFee;
 
-- 
GitLab