diff options
author | Cho <cho@lindenlab.com> | 2013-03-08 02:02:45 +0000 |
---|---|---|
committer | Cho <cho@lindenlab.com> | 2013-03-08 02:02:45 +0000 |
commit | 228d868cf6b3436f9cace3db5bd304e7ea639609 (patch) | |
tree | f4ad1f32510c612ed26a1d9d6c7c7405c850f9db | |
parent | 11199f2bef65f67f3ddd798944cb4ad62affa8ed (diff) |
CHUI-772 FIX User sees no notification of conversation activity not visible in long scrolling conversation list
Added call to mConversationsRoot->arrange() in LLFloaterIMContainer::isScrolledOutOfSight()
-rwxr-xr-x | indra/newview/llconversationview.cpp | 15 | ||||
-rw-r--r-- | indra/newview/llfloaterimcontainer.cpp | 3 |
2 files changed, 12 insertions, 6 deletions
diff --git a/indra/newview/llconversationview.cpp b/indra/newview/llconversationview.cpp index 74b348cd81..837389aed5 100755 --- a/indra/newview/llconversationview.cpp +++ b/indra/newview/llconversationview.cpp @@ -104,6 +104,15 @@ LLConversationViewSession::~LLConversationViewSession() void LLConversationViewSession::setFlashState(bool flash_state) { + if (flash_state && !mFlashStateOn) + { + // flash chat toolbar button if scrolled out of sight (because flashing will not be visible) + if (mContainer->isScrolledOutOfSight(this)) + { + gToolBarView->flashCommand(LLCommandId("chat"), true); + } + } + mFlashStateOn = flash_state; mFlashStarted = false; mFlashTimer->stopFlashing(); @@ -115,12 +124,6 @@ void LLConversationViewSession::startFlashing() { mFlashStarted = true; mFlashTimer->startFlashing(); - - // flash chat toolbar button if scrolled out of sight (because flashing will not be visible) - if (mContainer->isScrolledOutOfSight(this)) - { - gToolBarView->flashCommand(LLCommandId("chat"), true); - } } } diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp index 74490b695c..e2b9723537 100644 --- a/indra/newview/llfloaterimcontainer.cpp +++ b/indra/newview/llfloaterimcontainer.cpp @@ -1881,6 +1881,9 @@ bool LLFloaterIMContainer::isScrolledOutOfSight(LLConversationViewSession* conve { llassert(conversation_item_widget != NULL); + // make sure the widget is actually in the right spot first + mConversationsRoot->arrange(NULL, NULL); + // check whether the widget is in the visible portion of the scroll container LLRect widget_rect; conversation_item_widget->localRectToOtherView(conversation_item_widget->getLocalRect(), &widget_rect, mConversationsRoot); |