summaryrefslogtreecommitdiff
path: root/indra/newview/llscreenchannel.cpp
diff options
context:
space:
mode:
authorLoren Shih <seraph@lindenlab.com>2009-11-24 22:11:24 -0500
committerLoren Shih <seraph@lindenlab.com>2009-11-24 22:11:24 -0500
commitccf6cb3f9ba387117720d700b73ac8e05dbf1f75 (patch)
tree71163fde19389893c8951ebb723ddf9379318518 /indra/newview/llscreenchannel.cpp
parent2369fa96c24bafbd032c85b58767502cfd37ebaf (diff)
parent5b5354c933aa7b1ceeb307853c24fba28d4e31bf (diff)
viewer-2.0 automated merge
--HG-- branch : avatar-pipeline
Diffstat (limited to 'indra/newview/llscreenchannel.cpp')
-rw-r--r--indra/newview/llscreenchannel.cpp24
1 files changed, 20 insertions, 4 deletions
diff --git a/indra/newview/llscreenchannel.cpp b/indra/newview/llscreenchannel.cpp
index fb9db42cf6..24ba288c49 100644
--- a/indra/newview/llscreenchannel.cpp
+++ b/indra/newview/llscreenchannel.cpp
@@ -115,7 +115,9 @@ void LLScreenChannelBase::init(S32 channel_left, S32 channel_right)
// LLScreenChannel
//////////////////////
//--------------------------------------------------------------------------
-LLScreenChannel::LLScreenChannel(LLUUID& id): LLScreenChannelBase(id)
+LLScreenChannel::LLScreenChannel(LLUUID& id):
+LLScreenChannelBase(id)
+,mStartUpToastPanel(NULL)
{
}
@@ -358,8 +360,6 @@ void LLScreenChannel::redrawToasts()
if(mToastList.size() == 0 || isHovering())
return;
- hideToastsFromScreen();
-
switch(mToastAlignment)
{
case NA_TOP :
@@ -383,6 +383,8 @@ void LLScreenChannel::showToastsBottom()
S32 toast_margin = 0;
std::vector<ToastElem>::reverse_iterator it;
+ closeOverflowToastPanel();
+
for(it = mToastList.rbegin(); it != mToastList.rend(); ++it)
{
if(it != mToastList.rbegin())
@@ -408,7 +410,20 @@ void LLScreenChannel::showToastsBottom()
if(stop_showing_toasts)
break;
- (*it).toast->setVisible(TRUE);
+ if( !(*it).toast->getVisible() )
+ {
+ if((*it).toast->isFirstLook())
+ {
+ (*it).toast->setVisible(TRUE);
+ }
+ else
+ {
+ // HACK
+ // EXT-2653: it is necessary to prevent overlapping for secondary showed toasts
+ (*it).toast->setVisible(TRUE);
+ gFloaterView->sendChildToBack((*it).toast);
+ }
+ }
}
if(it != mToastList.rend() && !mOverflowToastHidden)
@@ -417,6 +432,7 @@ void LLScreenChannel::showToastsBottom()
for(; it != mToastList.rend(); it++)
{
(*it).toast->stopTimer();
+ (*it).toast->setVisible(FALSE);
mHiddenToastsNum++;
}
createOverflowToast(bottom, gSavedSettings.getS32("NotificationTipToastLifeTime"));