summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llfloaterimcontainer.cpp6
-rw-r--r--indra/newview/llfloaterimcontainer.h2
-rw-r--r--indra/newview/llfloaterimsession.cpp8
3 files changed, 11 insertions, 5 deletions
diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp
index 08e13276b3..cf66507a66 100644
--- a/indra/newview/llfloaterimcontainer.cpp
+++ b/indra/newview/llfloaterimcontainer.cpp
@@ -2432,7 +2432,7 @@ void LLFloaterIMContainer::closeHostedFloater()
onClickCloseBtn();
}
-void LLFloaterIMContainer::closeAllConversations()
+void LLFloaterIMContainer::closeAllConversations(bool app_quitting)
{
std::vector<LLUUID> ids;
for (conversations_items_map::iterator it_session = mConversationsItems.begin(); it_session != mConversationsItems.end(); it_session++)
@@ -2447,7 +2447,7 @@ void LLFloaterIMContainer::closeAllConversations()
for (std::vector<LLUUID>::const_iterator it = ids.begin(); it != ids.end(); ++it)
{
LLFloaterIMSession *conversationFloater = LLFloaterIMSession::findInstance(*it);
- LLFloater::onClickClose(conversationFloater);
+ LLFloater::onClickClose(conversationFloater, app_quitting);
}
}
@@ -2470,7 +2470,7 @@ void LLFloaterIMContainer::closeFloater(bool app_quitting/* = false*/)
{
if(app_quitting)
{
- closeAllConversations();
+ closeAllConversations(app_quitting);
onClickCloseBtn(app_quitting);
}
else
diff --git a/indra/newview/llfloaterimcontainer.h b/indra/newview/llfloaterimcontainer.h
index e11445d779..d1cfd3442c 100644
--- a/indra/newview/llfloaterimcontainer.h
+++ b/indra/newview/llfloaterimcontainer.h
@@ -117,7 +117,7 @@ public:
void assignResizeLimits();
virtual bool handleKeyHere(KEY key, MASK mask );
/*virtual*/ void closeFloater(bool app_quitting = false);
- void closeAllConversations();
+ void closeAllConversations(bool app_quitting);
void closeSelectedConversations(const uuid_vec_t& ids);
/*virtual*/ bool isFrontmost();
diff --git a/indra/newview/llfloaterimsession.cpp b/indra/newview/llfloaterimsession.cpp
index a2a3dac442..557b3f27c5 100644
--- a/indra/newview/llfloaterimsession.cpp
+++ b/indra/newview/llfloaterimsession.cpp
@@ -138,8 +138,14 @@ void LLFloaterIMSession::onTearOffClicked()
}
// virtual
-void LLFloaterIMSession::onClickCloseBtn(bool)
+void LLFloaterIMSession::onClickCloseBtn(bool app_qutting)
{
+ if (app_qutting)
+ {
+ LLFloaterIMSessionTab::onClickCloseBtn();
+ return;
+ }
+
LLIMModel::LLIMSession* session = LLIMModel::instance().findIMSession(mSessionID);
if (session != NULL)