From d138a284fa10ff95210067be8bdb6927179f3b42 Mon Sep 17 00:00:00 2001
From: Rye Mutt <rye@alchemyviewer.org>
Date: Tue, 7 Feb 2023 02:44:03 -0500
Subject: [PATCH] Fix appearance panel triggering on inventory and people
 floater close

---
 indra/newview/llfloatersidepanelcontainer.cpp | 31 ++++++++++---------
 1 file changed, 17 insertions(+), 14 deletions(-)

diff --git a/indra/newview/llfloatersidepanelcontainer.cpp b/indra/newview/llfloatersidepanelcontainer.cpp
index 2892371d89b..9e92e5b82be 100644
--- a/indra/newview/llfloatersidepanelcontainer.cpp
+++ b/indra/newview/llfloatersidepanelcontainer.cpp
@@ -66,24 +66,27 @@ void LLFloaterSidePanelContainer::onOpen(const LLSD& key)
 
 void LLFloaterSidePanelContainer::closeFloater(bool app_quitting)
 {
-	LLPanelOutfitEdit* panel_outfit_edit =
-		dynamic_cast<LLPanelOutfitEdit*>(LLFloaterSidePanelContainer::findPanel("appearance", "panel_outfit_edit"));
-	if (panel_outfit_edit)
+	if(getInstanceName() == "appearance")
 	{
-		LLFloater *parent = gFloaterView->getParentFloater(panel_outfit_edit);
-		if (parent == this )
+		LLPanelOutfitEdit* panel_outfit_edit =
+			LLFloaterSidePanelContainer::findPanel<LLPanelOutfitEdit>("appearance", "panel_outfit_edit");
+		if (panel_outfit_edit)
 		{
-			LLSidepanelAppearance* panel_appearance = dynamic_cast<LLSidepanelAppearance*>(mMainPanel);
-			if ( panel_appearance )
+			LLFloater *parent = gFloaterView->getParentFloater(panel_outfit_edit);
+			if (parent == this )
 			{
-				LLPanelEditWearable *edit_wearable_ptr = panel_appearance->getWearable();
-				if (edit_wearable_ptr)
+				LLSidepanelAppearance* panel_appearance = dynamic_cast<LLSidepanelAppearance*>(mMainPanel);
+				if ( panel_appearance )
 				{
-					edit_wearable_ptr->onClose();
-				}
-				if(!app_quitting)
-				{
-					panel_appearance->showOutfitsInventoryPanel();
+					LLPanelEditWearable *edit_wearable_ptr = panel_appearance->getWearable();
+					if (edit_wearable_ptr)
+					{
+						edit_wearable_ptr->onClose();
+					}
+					if(!app_quitting)
+					{
+						panel_appearance->showOutfitsInventoryPanel();
+					}
 				}
 			}
 		}
-- 
GitLab