Skip to content
Snippets Groups Projects
Commit 0efca82b authored by Tofu Linden's avatar Tofu Linden
Browse files

merge

parents 82b91b13 c331607d
No related branches found
No related tags found
No related merge requests found
......@@ -397,12 +397,20 @@ void LLCOFWearables::refresh()
mCOFVersion = catp->getVersion();
// Save current scrollbar position.
typedef std::map<LLFlatListView*, LLRect> scroll_pos_map_t;
scroll_pos_map_t saved_scroll_pos;
saved_scroll_pos[mAttachments] = mAttachments->getVisibleContentRect();
saved_scroll_pos[mClothing] = mClothing->getVisibleContentRect();
saved_scroll_pos[mBodyParts] = mBodyParts->getVisibleContentRect();
// Save current selection.
typedef std::vector<LLSD> values_vector_t;
typedef std::map<LLFlatListView*, values_vector_t> selection_map_t;
selection_map_t preserve_selection;
// Save current selection
mAttachments->getSelectedValues(preserve_selection[mAttachments]);
mClothing->getSelectedValues(preserve_selection[mClothing]);
mBodyParts->getSelectedValues(preserve_selection[mBodyParts]);
......@@ -450,6 +458,15 @@ void LLCOFWearables::refresh()
list->setCommitOnSelectionChange(true);
}
// Restore previous scrollbar position.
for (scroll_pos_map_t::const_iterator it = saved_scroll_pos.begin(); it != saved_scroll_pos.end(); ++it)
{
LLFlatListView* list = it->first;
LLRect scroll_pos = it->second;
list->scrollToShowRect(scroll_pos);
}
}
......
......@@ -286,6 +286,8 @@ void LLSidepanelAppearance::showOutfitsInventoryPanel()
void LLSidepanelAppearance::showOutfitEditPanel()
{
if (mOutfitEdit && mOutfitEdit->getVisible()) return;
// Accordion's state must be reset in all cases except the one when user
// is returning back to the mOutfitEdit panel from the mEditWearable panel.
// The simplest way to control this is to check the visibility state of the mEditWearable
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment