summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorAlexei Arabadji <aarabadji@productengine.com>2010-07-06 17:00:39 +0300
committerAlexei Arabadji <aarabadji@productengine.com>2010-07-06 17:00:39 +0300
commita03e1231486bd5c02e27b7020f53dfd2b397c215 (patch)
treecaba191612b96a7f2250e8e929d9d6508a3a1f41 /indra
parent6e252a356837df9b084ab46308fd7becb1085603 (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.cpp6
-rw-r--r--indra/newview/lloutfitslist.cpp12
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();
+ }
}
}