summaryrefslogtreecommitdiff
path: root/indra/newview/llfloaterimcontainer.cpp
diff options
context:
space:
mode:
authorAndrey Lihatskiy <alihatskiy@productengine.com>2022-05-27 02:53:34 +0300
committerAndrey Lihatskiy <alihatskiy@productengine.com>2022-05-27 02:53:34 +0300
commitb2ef95522f07301cfddbdace1042e60d52fde436 (patch)
treec51119f79b734a7d503bb3adeac1759b819c8f92 /indra/newview/llfloaterimcontainer.cpp
parent43a338c6270f9a000052465d09d4ad999524af0b (diff)
parent3da7a50b71d4ef5919c2d4d5b9547b3ef0abab7d (diff)
Merge branch 'DRTVWR-543-maint' into DRTVWR-543-maint_cmake
Diffstat (limited to 'indra/newview/llfloaterimcontainer.cpp')
-rw-r--r--indra/newview/llfloaterimcontainer.cpp38
1 files changed, 21 insertions, 17 deletions
diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp
index 6cd1648182..1525bb9952 100644
--- a/indra/newview/llfloaterimcontainer.cpp
+++ b/indra/newview/llfloaterimcontainer.cpp
@@ -723,7 +723,8 @@ void LLFloaterIMContainer::setMinimized(BOOL b)
}
void LLFloaterIMContainer::setVisible(BOOL visible)
-{ LLFloaterIMNearbyChat* nearby_chat;
+{
+ LLFloaterIMNearbyChat* nearby_chat;
if (visible)
{
// Make sure we have the Nearby Chat present when showing the conversation container
@@ -758,22 +759,25 @@ void LLFloaterIMContainer::setVisible(BOOL visible)
LLFloaterIMSessionTab::addToHost(LLUUID());
}
- // We need to show/hide all the associated conversations that have been torn off
- // (and therefore, are not longer managed by the multifloater),
- // so that they show/hide with the conversations manager.
- conversations_widgets_map::iterator widget_it = mConversationsWidgets.begin();
- for (;widget_it != mConversationsWidgets.end(); ++widget_it)
- {
- LLConversationViewSession* widget = dynamic_cast<LLConversationViewSession*>(widget_it->second);
- if (widget)
- {
- LLFloater* session_floater = widget->getSessionFloater();
- if (session_floater != nearby_chat)
- {
- widget->setVisibleIfDetached(visible);
- }
- }
- }
+ if (!LLFloater::isQuitRequested())
+ {
+ // We need to show/hide all the associated conversations that have been torn off
+ // (and therefore, are not longer managed by the multifloater),
+ // so that they show/hide with the conversations manager.
+ conversations_widgets_map::iterator widget_it = mConversationsWidgets.begin();
+ for (; widget_it != mConversationsWidgets.end(); ++widget_it)
+ {
+ LLConversationViewSession* widget = dynamic_cast<LLConversationViewSession*>(widget_it->second);
+ if (widget)
+ {
+ LLFloater* session_floater = widget->getSessionFloater();
+ if (session_floater != nearby_chat)
+ {
+ widget->setVisibleIfDetached(visible);
+ }
+ }
+ }
+ }
// Now, do the normal multifloater show/hide
LLMultiFloater::setVisible(visible);