summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2024-08-16 19:27:48 +0300
committerAndrey Kleshchev <117672381+akleshchev@users.noreply.github.com>2024-08-19 08:12:34 +0300
commit7cc3ff55b97b94a3b52daebfe072eb22192c710b (patch)
tree4f9997842ef50b8c1db4ae44dc0fc2bf4271b634 /indra
parent2a81ebba5395981fcc03a62e0f43a3caa7a42156 (diff)
viewer#2296 Don't show 'are you sure you want to leave the call' when shutting down
Diffstat (limited to 'indra')
-rw-r--r--indra/llui/llfloater.cpp8
-rw-r--r--indra/llui/llfloater.h1
-rw-r--r--indra/newview/llfloaterimcontainer.cpp6
-rw-r--r--indra/newview/llfloaterimcontainer.h2
-rw-r--r--indra/newview/llfloaterimsession.cpp8
5 files changed, 20 insertions, 5 deletions
diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp
index e6ecf3c283..f29f9286c9 100644
--- a/indra/llui/llfloater.cpp
+++ b/indra/llui/llfloater.cpp
@@ -1926,6 +1926,14 @@ void LLFloater::onClickClose( LLFloater* self )
self->onClickCloseBtn();
}
+// static
+void LLFloater::onClickClose(LLFloater* self, bool app_quitting)
+{
+ if (!self)
+ return;
+ self->onClickCloseBtn(app_quitting);
+}
+
void LLFloater::onClickCloseBtn(bool app_quitting)
{
closeFloater(false);
diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h
index 3d75c42f60..9be2240f6f 100644
--- a/indra/llui/llfloater.h
+++ b/indra/llui/llfloater.h
@@ -363,6 +363,7 @@ public:
// }
static void onClickClose(LLFloater* floater);
+ static void onClickClose(LLFloater* floater, bool app_quitting);
static void onClickMinimize(LLFloater* floater);
static void onClickTearOff(LLFloater* floater);
static void onClickDock(LLFloater* floater);
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)