diff options
author | Richard Nelson <none@none> | 2010-03-18 11:06:48 -0700 |
---|---|---|
committer | Richard Nelson <none@none> | 2010-03-18 11:06:48 -0700 |
commit | 20e496051062b1d919506b1ab60d28134eb2b68f (patch) | |
tree | a0399069130b7f85f9fb950a43683c5967c694d3 | |
parent | 76dc796a1a70290b00c47d0c43d8c8ba237dd7ac (diff) |
EXT-6347 - Crash when clicking on member's section of Oskar Linden Fanclub
reviewed by Callum
-rw-r--r-- | indra/newview/llnamelistctrl.cpp | 7 | ||||
-rw-r--r-- | indra/newview/llpopupview.cpp | 12 |
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(); } } |