diff options
Diffstat (limited to 'indra/newview/llfloaterimcontainer.cpp')
-rw-r--r-- | indra/newview/llfloaterimcontainer.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp index c8088588da..0260f2b89e 100644 --- a/indra/newview/llfloaterimcontainer.cpp +++ b/indra/newview/llfloaterimcontainer.cpp @@ -1853,6 +1853,22 @@ void LLFloaterIMContainer::flashConversationItemWidget(const LLUUID& session_id, } } +bool LLFloaterIMContainer::isConversationItemWidgetVisible(const LLUUID& session_id) +{ + // find the conversation line item using the session_id + LLConversationViewSession* widget = dynamic_cast<LLConversationViewSession*>(get_ptr_in_map(mConversationsWidgets, session_id)); + + if (widget) + { + // check whether the widget is in the visible portion of the scroll container + LLRect widget_rect; + widget->localRectToOtherView(widget->getLocalRect(), &widget_rect, mConversationsRoot); + return (mConversationsRoot->getVisibleRect().overlaps(widget_rect)); + } + + return false; +} + void LLFloaterIMContainer::closeFloater(bool app_quitting/* = false*/) { // Always unminimize before trying to close. |