diff options
author | Merov Linden <merov@lindenlab.com> | 2010-11-24 14:01:15 -0800 |
---|---|---|
committer | Merov Linden <merov@lindenlab.com> | 2010-11-24 14:01:15 -0800 |
commit | 3d9c05f33919a4c1c5a82ca4a28597ee36c7599f (patch) | |
tree | fd699c0e9b198b1f1cbf465b31e1d43198ee1ba8 /indra/newview | |
parent | 2e46db239fc8587ecb5aafceda2f060fd470cd93 (diff) | |
parent | abcb3a7306f95f66aadb3db2fa8cd4000bc0a8e5 (diff) |
STORM-375 : pull into viewer-development
Diffstat (limited to 'indra/newview')
-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) |