From 40df6a5c868876e935428399db8fe325e11b5178 Mon Sep 17 00:00:00 2001
From: Alexei Arabadji <aarabadji@productengine.com>
Date: Thu, 22 Apr 2010 10:54:13 +0300
Subject: [PATCH] fixed EXT-6805 No fading on toast's disappearing Reverted
 toast fading logic.

reviewed by Mike Antipov https://codereview.productengine.com/secondlife/r/292/

--HG--
branch : product-engine
---
 indra/newview/lltoast.cpp | 8 ++++++++
 indra/newview/lltoast.h   | 1 +
 2 files changed, 9 insertions(+)

diff --git a/indra/newview/lltoast.cpp b/indra/newview/lltoast.cpp
index 22b12ee132d..568cd4cb196 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 4a213580da6..4211f21ef16 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;
-- 
GitLab