From 1c62f52af83aa6e6684f5d1f496d8095c7ca321f Mon Sep 17 00:00:00 2001
From: Nat Goodspeed <nat@lindenlab.com>
Date: Wed, 18 Dec 2019 15:29:23 -0500
Subject: [PATCH] DRTVWR-476: LLChannelManager depends on LLUI. Tell
 LLSingleton.

---
 indra/newview/llchannelmanager.cpp | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/indra/newview/llchannelmanager.cpp b/indra/newview/llchannelmanager.cpp
index 0b7b9cbbc7a..9e7a8ba95c3 100644
--- a/indra/newview/llchannelmanager.cpp
+++ b/indra/newview/llchannelmanager.cpp
@@ -48,11 +48,18 @@ LLChannelManager::LLChannelManager()
 	LLAppViewer::instance()->setOnLoginCompletedCallback(boost::bind(&LLChannelManager::onLoginCompleted, this));
 	mChannelList.clear();
 	mStartUpChannel = NULL;
-	
+
 	if(!gViewerWindow)
 	{
 		LL_ERRS() << "LLChannelManager::LLChannelManager() - viwer window is not initialized yet" << LL_ENDL;
 	}
+
+	// We don't actually need this instance right now, but our
+	// cleanupSingleton() method deletes LLScreenChannels, which need to
+	// unregister from LLUI. Calling LLUI::instance() here establishes the
+	// dependency so LLSingletonBase::deleteAll() calls our deleteSingleton()
+	// before LLUI::deleteSingleton().
+	LLUI::instance();
 }
 
 //--------------------------------------------------------------------------
-- 
GitLab