diff options
| -rw-r--r-- | indra/newview/llsidepanelappearance.cpp | 9 | ||||
| -rw-r--r-- | indra/newview/llsidetray.cpp | 6 | 
2 files changed, 11 insertions, 4 deletions
| diff --git a/indra/newview/llsidepanelappearance.cpp b/indra/newview/llsidepanelappearance.cpp index 1999f14828..b316171604 100644 --- a/indra/newview/llsidepanelappearance.cpp +++ b/indra/newview/llsidepanelappearance.cpp @@ -183,12 +183,15 @@ void LLSidepanelAppearance::onOpen(const LLSD& key)  void LLSidepanelAppearance::onVisibilityChange(const LLSD &new_visibility)  { -	updateToVisibility(new_visibility); +	LLSD visibility; +	visibility["visible"] = new_visibility.asBoolean(); +	visibility["reset_accordion"] = true; +	updateToVisibility(visibility);  }  void LLSidepanelAppearance::updateToVisibility(const LLSD &new_visibility)  { -	if (new_visibility.asBoolean()) +	if (new_visibility["visible"].asBoolean())  	{  		bool is_outfit_edit_visible = mOutfitEdit && mOutfitEdit->getVisible();  		bool is_wearable_edit_visible = mEditWearable && mEditWearable->getVisible(); @@ -209,7 +212,7 @@ void LLSidepanelAppearance::updateToVisibility(const LLSD &new_visibility)  				}  			} -			if (is_outfit_edit_visible) +			if (is_outfit_edit_visible && new_visibility["reset_accordion"].asBoolean())  			{  				mOutfitEdit->resetAccordionState();  			} diff --git a/indra/newview/llsidetray.cpp b/indra/newview/llsidetray.cpp index a4f855f279..2905e369f1 100644 --- a/indra/newview/llsidetray.cpp +++ b/indra/newview/llsidetray.cpp @@ -298,7 +298,11 @@ static void on_minimize(LLSidepanelAppearance* panel, LLSD minimized)  {  	if (!panel) return;  	bool visible = !minimized.asBoolean(); -	panel->updateToVisibility(LLSD(visible));	 +	LLSD visibility; +	visibility["visible"] = visible; +	// Do not reset accordion state on minimize (STORM-375) +	visibility["reset_accordion"] = false; +	panel->updateToVisibility(visibility);  }  void LLSideTrayTab::undock(LLFloater* floater_tab) | 
