summaryrefslogtreecommitdiff
path: root/indra/newview/llscreenchannel.cpp
diff options
context:
space:
mode:
authorDmitry Zaporozhan <dzaporozhan@productengine.com>2009-12-30 16:58:49 +0200
committerDmitry Zaporozhan <dzaporozhan@productengine.com>2009-12-30 16:58:49 +0200
commit5eb4d0b219ed0dd9928ecbcfbffe19fbaa318f22 (patch)
tree3b95a973f66aad637797c229f2699dfc2ad73c01 /indra/newview/llscreenchannel.cpp
parente214b6e360eeaf7252d6515b13db857881a63bcc (diff)
Fixed normal bug EXT-3762 - New notifications don't appear in the Notifications Well until they fade away in the channel.
--HG-- branch : product-engine
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));