summaryrefslogtreecommitdiff
path: root/indra/newview/lltoastnotifypanel.cpp
diff options
context:
space:
mode:
authorMatthew Breindel (Falcon) <falcon@lindenlab.com>2010-04-01 17:03:59 -0700
committerMatthew Breindel (Falcon) <falcon@lindenlab.com>2010-04-01 17:03:59 -0700
commitb1ae22c3eb71767219ebb96ec80011e10bbfabbe (patch)
tree41eb0fd5eb7f4986f99ce2a0d11273c32f33e7d1 /indra/newview/lltoastnotifypanel.cpp
parentf17cfd952a274cc6c684e50db004d62373a49d1f (diff)
parent9bdbc10aba78d7c6fec832ee4c411b483f05c441 (diff)
Merge
Diffstat (limited to 'indra/newview/lltoastnotifypanel.cpp')
-rw-r--r--indra/newview/lltoastnotifypanel.cpp19
1 files changed, 17 insertions, 2 deletions
diff --git a/indra/newview/lltoastnotifypanel.cpp b/indra/newview/lltoastnotifypanel.cpp
index 907740a88e..c9d2d404c0 100644
--- a/indra/newview/lltoastnotifypanel.cpp
+++ b/indra/newview/lltoastnotifypanel.cpp
@@ -45,6 +45,7 @@
#include "lltrans.h"
#include "llnotificationsutil.h"
#include "llviewermessage.h"
+#include "llimfloater.h"
const S32 BOTTOM_PAD = VPAD * 3;
const S32 IGNORE_BTN_TOP_DELTA = 3*VPAD;//additional ignore_btn padding
@@ -531,12 +532,26 @@ void LLToastNotifyPanel::disableRespondedOptions(LLNotificationPtr& notification
//////////////////////////////////////////////////////////////////////////
-LLIMToastNotifyPanel::LLIMToastNotifyPanel(LLNotificationPtr& pNotification, const LLRect& rect /* = LLRect::null */)
- : LLToastNotifyPanel(pNotification, rect)
+LLIMToastNotifyPanel::LLIMToastNotifyPanel(LLNotificationPtr& pNotification, const LLUUID& session_id, const LLRect& rect /* = LLRect::null */)
+ : mSessionID(session_id), LLToastNotifyPanel(pNotification, rect)
{
mTextBox->setFollowsAll();
}
+LLIMToastNotifyPanel::~LLIMToastNotifyPanel()
+{
+ // We shouldn't delete notification when IM floater exists
+ // since that notification will be reused by IM floater.
+ // This may happened when IM floater reloads messages, exactly when user
+ // changes layout of IM chat log(disable/enable plaintext mode).
+ // See EXT-6500
+ LLIMFloater* im_floater = LLIMFloater::findInstance(mSessionID);
+ if (im_floater != NULL && !im_floater->isDead())
+ {
+ mCloseNotificationOnDestroy = false;
+ }
+}
+
void LLIMToastNotifyPanel::reshape(S32 width, S32 height, BOOL called_from_parent /* = TRUE */)
{
S32 text_height = mTextBox->getTextBoundingRect().getHeight();