diff options
author | Dmitry Zaporozhan <dzaporozhan@productengine.com> | 2009-12-30 16:58:49 +0200 |
---|---|---|
committer | Dmitry Zaporozhan <dzaporozhan@productengine.com> | 2009-12-30 16:58:49 +0200 |
commit | 5eb4d0b219ed0dd9928ecbcfbffe19fbaa318f22 (patch) | |
tree | 3b95a973f66aad637797c229f2699dfc2ad73c01 /indra/newview/llscreenchannel.cpp | |
parent | e214b6e360eeaf7252d6515b13db857881a63bcc (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.cpp | 13 |
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)); |