diff options
author | Jonathan Yap <none@none> | 2011-12-02 18:48:43 -0500 |
---|---|---|
committer | Jonathan Yap <none@none> | 2011-12-02 18:48:43 -0500 |
commit | 6e2b3fd634b909c534f27898c8658f0029244ff9 (patch) | |
tree | 9483e1901dff8b27ee9687a72bce4009bce3c79e /indra/newview | |
parent | f5a94e0f8196c5c068995090cd57bb27e97aaac9 (diff) |
STORM-1712 Do not sort recent speakers list if mouse is hovered over it
Diffstat (limited to 'indra/newview')
-rw-r--r-- | indra/newview/llparticipantlist.cpp | 9 | ||||
-rw-r--r-- | indra/newview/llparticipantlist.h | 2 |
2 files changed, 10 insertions, 1 deletions
diff --git a/indra/newview/llparticipantlist.cpp b/indra/newview/llparticipantlist.cpp index fb1153980a..5c95e805ce 100644 --- a/indra/newview/llparticipantlist.cpp +++ b/indra/newview/llparticipantlist.cpp @@ -468,7 +468,7 @@ void LLParticipantList::setValidateSpeakerCallback(validate_speaker_callback_t c void LLParticipantList::updateRecentSpeakersOrder() { - if (E_SORT_BY_RECENT_SPEAKERS == getSortOrder()) + if (E_SORT_BY_RECENT_SPEAKERS == getSortOrder() && !isHovered()) { // Need to update speakers to sort list correctly mSpeakerMgr->update(true); @@ -477,6 +477,13 @@ void LLParticipantList::updateRecentSpeakersOrder() } } +bool LLParticipantList::isHovered() +{ + S32 x, y; + LLUI::getMousePositionScreen(&x, &y); + return mAvatarList->calcScreenRect().pointInRect(x, y); +} + bool LLParticipantList::onAddItemEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata) { LLUUID uu_id = event->getValue().asUUID(); diff --git a/indra/newview/llparticipantlist.h b/indra/newview/llparticipantlist.h index e0b3d42c25..a001d29b67 100644 --- a/indra/newview/llparticipantlist.h +++ b/indra/newview/llparticipantlist.h @@ -251,6 +251,8 @@ private: */ void adjustParticipant(const LLUUID& speaker_id); + bool isHovered(); + LLSpeakerMgr* mSpeakerMgr; LLAvatarList* mAvatarList; |