summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Nelson <none@none>2010-03-18 11:06:48 -0700
committerRichard Nelson <none@none>2010-03-18 11:06:48 -0700
commit20e496051062b1d919506b1ab60d28134eb2b68f (patch)
treea0399069130b7f85f9fb950a43683c5967c694d3
parent76dc796a1a70290b00c47d0c43d8c8ba237dd7ac (diff)
EXT-6347 - Crash when clicking on member's section of Oskar Linden Fanclub
reviewed by Callum
-rw-r--r--indra/newview/llnamelistctrl.cpp7
-rw-r--r--indra/newview/llpopupview.cpp12
2 files changed, 6 insertions, 13 deletions
diff --git a/indra/newview/llnamelistctrl.cpp b/indra/newview/llnamelistctrl.cpp
index 883d4cdf4b..7a538e372b 100644
--- a/indra/newview/llnamelistctrl.cpp
+++ b/indra/newview/llnamelistctrl.cpp
@@ -142,11 +142,12 @@ void LLNameListCtrl::showInspector(const LLUUID& avatar_id, bool is_group)
void LLNameListCtrl::mouseOverHighlightNthItem( S32 target_index )
{
- if (getHighlightedItemInx()!= target_index)
+ S32 cur_index = getHighlightedItemInx();
+ if (cur_index != target_index)
{
- if(getHighlightedItemInx()!=-1)
+ if(0 <= cur_index && cur_index < (S32)getItemList().size())
{
- LLScrollListItem* item = getItemList()[getHighlightedItemInx()];
+ LLScrollListItem* item = getItemList()[cur_index];
LLScrollListText* cell = dynamic_cast<LLScrollListText*>(item->getColumn(mNameColumnIndex));
if(cell)
cell->setTextWidth(cell->getTextWidth() + info_icon_size);
diff --git a/indra/newview/llpopupview.cpp b/indra/newview/llpopupview.cpp
index d8ad59c90c..dcde1325bf 100644
--- a/indra/newview/llpopupview.cpp
+++ b/indra/newview/llpopupview.cpp
@@ -207,11 +207,7 @@ void LLPopupView::addPopup(LLView* popup)
{
if (popup)
{
- popup_list_t::iterator iter = std::find(mPopups.begin(), mPopups.end(), popup->getHandle());
- if(iter != mPopups.end())
- {
- mPopups.erase(iter);
- }
+ mPopups.remove(popuip->getHandle());
mPopups.push_front(popup->getHandle());
}
}
@@ -220,11 +216,7 @@ void LLPopupView::removePopup(LLView* popup)
{
if (popup)
{
- popup_list_t::iterator iter = std::find(mPopups.begin(), mPopups.end(), popup->getHandle());
- if(iter != mPopups.end())
- {
- mPopups.erase(iter);
- }
+ mPopups.remove(popup->getHandle());
popup->onTopLost();
}
}