summaryrefslogtreecommitdiff
path: root/indra/newview/llscreenchannel.cpp
diff options
context:
space:
mode:
authorJames Cook <james@lindenlab.com>2009-12-31 14:31:58 -0800
committerJames Cook <james@lindenlab.com>2009-12-31 14:31:58 -0800
commiteb5a76996a1b1ce2ef30b6106287caae998dcc85 (patch)
treec796af5a77c8ebfa7d9d09709c0b179e721490c8 /indra/newview/llscreenchannel.cpp
parent4e23ae312f0ab59c0c8c5b55c6c8450adf7d7f82 (diff)
parent6f66ec64b9e360a002a6d658327b72aaaab9325a (diff)
Merge (viewer-2-0 into gooey)
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));