summaryrefslogtreecommitdiff
path: root/indra/newview/llscreenchannel.cpp
diff options
context:
space:
mode:
authorLeyla Farazha <leyla@lindenlab.com>2010-01-04 15:04:38 -0800
committerLeyla Farazha <leyla@lindenlab.com>2010-01-04 15:04:38 -0800
commit53abe3c7802b8c8579ce868b4ecb05d9ebdd20ef (patch)
tree4a2c9b325f6ceb75403db9d29e1efa583de434e3 /indra/newview/llscreenchannel.cpp
parent34328eed67a10ccca73ec78cd70488ac35f2ee91 (diff)
parent1355d16d2f24f9d623df70059b1f0001cf673209 (diff)
Merge
Diffstat (limited to 'indra/newview/llscreenchannel.cpp')
-rw-r--r--indra/newview/llscreenchannel.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/indra/newview/llscreenchannel.cpp b/indra/newview/llscreenchannel.cpp
index 8c3f3dc5fb..da3f1543dd 100644
--- a/indra/newview/llscreenchannel.cpp
+++ b/indra/newview/llscreenchannel.cpp
@@ -234,6 +234,11 @@ void LLScreenChannel::addToast(const LLToast::Params& p)
if(show_toast)
{
mToastList.push_back(new_toast_elem);
+ if(p.can_be_stored)
+ {
+ // store toasts immediately - EXT-3762
+ storeToast(new_toast_elem);
+ }
updateShowToastsState();
redrawToasts();
}
@@ -306,7 +311,6 @@ void LLScreenChannel::storeToast(ToastElem& toast_elem)
if( it != mStoredToastList.end() )
return;
- toast_elem.toast->stopTimer();
mStoredToastList.push_back(toast_elem);
mOnStoreToast(toast_elem.toast->getPanel(), toast_elem.id);
}
@@ -343,6 +347,13 @@ void LLScreenChannel::loadStoredToastByNotificationIDToChannel(LLUUID id)
mOverflowToastHidden = false;
LLToast* toast = (*it).toast;
+
+ if(toast->getVisible())
+ {
+ // toast is already in channel
+ return;
+ }
+
toast->setIsHidden(false);
toast->resetTimer();
mToastList.push_back((*it));