diff options
author | Alexei Arabadji <aarabadji@productengine.com> | 2010-07-06 17:00:39 +0300 |
---|---|---|
committer | Alexei Arabadji <aarabadji@productengine.com> | 2010-07-06 17:00:39 +0300 |
commit | a03e1231486bd5c02e27b7020f53dfd2b397c215 (patch) | |
tree | caba191612b96a7f2250e8e929d9d6508a3a1f41 /indra | |
parent | 6e252a356837df9b084ab46308fd7becb1085603 (diff) |
EXT-8082 FIXED Fixed viewer crash in outfit list accordion.
Details:
1 Avoided memory leak of LLAccordionCtrlTab in LLOutfitsList::refreshList method.
2 Provided resetting selection in LLAccordionCtrl::removeCollapsibleCtrl method.
reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/701/
--HG--
branch : product-engine
Diffstat (limited to 'indra')
-rw-r--r-- | indra/llui/llaccordionctrl.cpp | 6 | ||||
-rw-r--r-- | indra/newview/lloutfitslist.cpp | 12 |
2 files changed, 18 insertions, 0 deletions
diff --git a/indra/llui/llaccordionctrl.cpp b/indra/llui/llaccordionctrl.cpp index 237d42090f..673631f99a 100644 --- a/indra/llui/llaccordionctrl.cpp +++ b/indra/llui/llaccordionctrl.cpp @@ -374,6 +374,12 @@ void LLAccordionCtrl::removeCollapsibleCtrl(LLView* view) break; } } + + // if removed is selected - reset selection + if (mSelectedTab == view) + { + mSelectedTab = NULL; + } } void LLAccordionCtrl::initNoTabsWidget(const LLTextBox::Params& tb_params) diff --git a/indra/newview/lloutfitslist.cpp b/indra/newview/lloutfitslist.cpp index dddfd9106f..aba019356d 100644 --- a/indra/newview/lloutfitslist.cpp +++ b/indra/newview/lloutfitslist.cpp @@ -453,6 +453,12 @@ void LLOutfitsList::refreshList(const LLUUID& category_id) { // Remove accordion tab if category could not be added to observer. mAccordion->removeCollapsibleCtrl(tab); + + // kill removed tab + if (tab != NULL) + { + tab->die(); + } continue; } @@ -523,6 +529,12 @@ void LLOutfitsList::refreshList(const LLUUID& category_id) // 4. Remove outfit tab from accordion. mAccordion->removeCollapsibleCtrl(tab); + + // kill removed tab + if (tab != NULL) + { + tab->die(); + } } } |