diff --git a/indra/newview/lltoast.cpp b/indra/newview/lltoast.cpp index 22b12ee132df2f557260902e3d7e169872902965..568cd4cb1966ee5390bcfbdfb9cdf87a4e5a23c2 100644 --- a/indra/newview/lltoast.cpp +++ b/indra/newview/lltoast.cpp @@ -67,6 +67,7 @@ LLToast::Params::Params() LLToast::LLToast(const LLToast::Params& p) : LLModalDialog(LLSD(), p.is_modal), mPanel(p.panel), + mToastLifetime(p.lifetime_secs), mToastFadingTime(p.fading_time_secs), mNotificationID(p.notif_id), mSessionID(p.session_id), @@ -241,6 +242,13 @@ void LLToast::draw() drawChild(mHideBtn); } } + + // if timer started and remaining time <= fading time + if (mTimer->getStarted() && (mToastLifetime + - mTimer->getEventTimer().getElapsedTimeF32()) <= mToastFadingTime) + { + setBackgroundOpaque(FALSE); + } } //-------------------------------------------------------------------------- diff --git a/indra/newview/lltoast.h b/indra/newview/lltoast.h index 4a213580da672fa4972ccc28c32d7bd1fd89d754..4211f21ef160b574621be826a084fa35545904cd 100644 --- a/indra/newview/lltoast.h +++ b/indra/newview/lltoast.h @@ -209,6 +209,7 @@ class LLToast : public LLModalDialog // timer counts a lifetime of a toast std::auto_ptr<LLToastLifeTimer> mTimer; + F32 mToastLifetime; // in seconds F32 mToastFadingTime; // in seconds LLPanel* mPanel;