From 1c0643201940f278de60896800ee4156e8638d04 Mon Sep 17 00:00:00 2001
From: Rye Mutt <rye@alchemyviewer.org>
Date: Fri, 3 Feb 2023 06:54:39 -0500
Subject: [PATCH] Prevent onVisibilityChange storm during LLTextBase::draw

---
 indra/llui/lltextbase.cpp | 4 ++--
 indra/llui/llview.h       | 1 +
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/indra/llui/lltextbase.cpp b/indra/llui/lltextbase.cpp
index b276ee74051..071ceb39395 100644
--- a/indra/llui/lltextbase.cpp
+++ b/indra/llui/lltextbase.cpp
@@ -1419,9 +1419,9 @@ void LLTextBase::draw()
 		drawCursor();
 	}
  
-	mDocumentView->setVisible(FALSE);
+	mDocumentView->setVisibleDirect(FALSE);
 	LLUICtrl::draw();
-	mDocumentView->setVisible(TRUE);
+	mDocumentView->setVisibleDirect(TRUE);
 }
 
 
diff --git a/indra/llui/llview.h b/indra/llui/llview.h
index 6080d6797e8..a41fd371c25 100644
--- a/indra/llui/llview.h
+++ b/indra/llui/llview.h
@@ -292,6 +292,7 @@ class LLView
 	void 	setAllChildrenEnabled(BOOL b);
 
 	virtual void	setVisible(BOOL visible);
+	void			setVisibleDirect(BOOL visible) {mVisible = visible;}
 	const BOOL&		getVisible() const			{ return mVisible; }
 	virtual void	setEnabled(BOOL enabled);
 	BOOL			getEnabled() const			{ return mEnabled; }
-- 
GitLab