diff options
| author | mberezhnoy <mberezhnoy@productengine.com> | 2013-05-16 09:16:58 +0300 |
|---|---|---|
| committer | mberezhnoy <mberezhnoy@productengine.com> | 2013-05-16 09:16:58 +0300 |
| commit | 75f97d4ffe517d07e4b528de9e5f2d2c800510fb (patch) | |
| tree | 8ada7c313cad821d0e1bc4e983ba040443ed79e1 /indra/newview/llfloaterimcontainer.cpp | |
| parent | 5f05e5841f5e748984a7dd7ac4e18070fc716857 (diff) | |
CHUI-963 (Toggling chat fui button twice tears off nearby chat to lower left corner also deletes other open conversations)
Diffstat (limited to 'indra/newview/llfloaterimcontainer.cpp')
| -rw-r--r-- | indra/newview/llfloaterimcontainer.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp index 7626a3eab8..51796b7486 100644 --- a/indra/newview/llfloaterimcontainer.cpp +++ b/indra/newview/llfloaterimcontainer.cpp @@ -2067,6 +2067,15 @@ void LLFloaterIMContainer::expandConversation() } } +// By default, if torn off session is currently frontmost, LLFloater::isFrontmost() will return FALSE, which can lead to some bugs +// So LLFloater::isFrontmost() is overriden here to check both selected session and the IM floater itself +/*virtual*/ +BOOL LLFloaterIMContainer::isFrontmost() +{ + LLFloaterIMSessionTab* selected_session = LLFloaterIMSessionTab::getConversation(mSelectedSession); + return (selected_session && selected_session->isFrontmost()) || LLFloater::isFrontmost(); +} + // For conversations, closeFloater() (linked to Ctrl-W) does not actually close the floater but the active conversation. // This is intentional so it doesn't confuse the user. onClickCloseBtn() closes the whole floater. void LLFloaterIMContainer::onClickCloseBtn() |
