summaryrefslogtreecommitdiff
path: root/indra/newview/llimfloater.cpp
diff options
context:
space:
mode:
authorTofu Linden <tofu.linden@lindenlab.com>2010-05-14 10:28:38 +0100
committerTofu Linden <tofu.linden@lindenlab.com>2010-05-14 10:28:38 +0100
commitc49af5ee304a61927c40e9bd3fdcfe0a7d9493f3 (patch)
tree1807e6105869b66efc16b3b4e30d47ae4440ba16 /indra/newview/llimfloater.cpp
parentb325f72f7d550fef047e7b85d94fa3f3c778170c (diff)
parenta5f365c331149b03366be421aa1597dfbcb1bb33 (diff)
merge from viewer-public
Diffstat (limited to 'indra/newview/llimfloater.cpp')
-rw-r--r--indra/newview/llimfloater.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/indra/newview/llimfloater.cpp b/indra/newview/llimfloater.cpp
index d25aa37e16..3aa9d75bc0 100644
--- a/indra/newview/llimfloater.cpp
+++ b/indra/newview/llimfloater.cpp
@@ -1104,6 +1104,21 @@ void LLIMFloater::closeHiddenIMToasts()
channel->closeHiddenToasts(IMToastMatcher());
}
}
+// static
+void LLIMFloater::confirmLeaveCallCallback(const LLSD& notification, const LLSD& response)
+{
+ S32 option = LLNotificationsUtil::getSelectedOption(notification, response);
+ const LLSD& payload = notification["payload"];
+ LLUUID session_id = payload["session_id"];
+
+ LLFloater* im_floater = LLFloaterReg::findInstance("impanel", session_id);
+ if (option == 0 && im_floater != NULL)
+ {
+ im_floater->closeFloater();
+ }
+
+ return;
+}
// static
bool LLIMFloater::isChatMultiTab()
@@ -1176,7 +1191,7 @@ void LLIMFloater::onClickCloseBtn()
{
LLSD payload;
payload["session_id"] = mSessionID;
- LLNotificationsUtil::add("ConfirmLeaveCall", LLSD(), payload);
+ LLNotificationsUtil::add("ConfirmLeaveCall", LLSD(), payload, confirmLeaveCallCallback);
return;
}