diff options
author | AndreyL ProductEngine <alihatskiy@productengine.com> | 2016-05-20 00:03:30 +0300 |
---|---|---|
committer | AndreyL ProductEngine <alihatskiy@productengine.com> | 2016-05-20 00:03:30 +0300 |
commit | 445cd962932c1957495a35add8cf5ca4618e035b (patch) | |
tree | d0303f3704acb804cb8281f3b7c38010afa423e6 /indra/newview/llnotificationtiphandler.cpp | |
parent | 6f5f307e0a751a78fbdfb4c6a1f8757ea55bf1dd (diff) | |
parent | c2ef3b4c7186dbbd95b16520f281b7d58364fb52 (diff) |
Merged in lindenlab/viewer-release
Diffstat (limited to 'indra/newview/llnotificationtiphandler.cpp')
-rw-r--r--[-rwxr-xr-x] | indra/newview/llnotificationtiphandler.cpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/indra/newview/llnotificationtiphandler.cpp b/indra/newview/llnotificationtiphandler.cpp index 4ca961c1f9..596327e8f1 100755..100644 --- a/indra/newview/llnotificationtiphandler.cpp +++ b/indra/newview/llnotificationtiphandler.cpp @@ -113,11 +113,23 @@ bool LLTipHandler::processNotification(const LLNotificationPtr& notification) LLToast::Params p; p.notif_id = notification->getID(); p.notification = notification; - p.lifetime_secs = gSavedSettings.getS32("NotificationTipToastLifeTime"); p.panel = notify_box; p.is_tip = true; p.can_be_stored = false; - + + LLDate cur_time = LLDate::now(); + LLDate exp_time = notification->getExpiration(); + if (exp_time > cur_time) + { + // we have non-default expiration time - keep visible until expires + p.lifetime_secs = exp_time.secondsSinceEpoch() - cur_time.secondsSinceEpoch(); + } + else + { + // use default time + p.lifetime_secs = gSavedSettings.getS32("NotificationTipToastLifeTime"); + } + LLScreenChannel* channel = dynamic_cast<LLScreenChannel*>(mChannel.get()); if(channel) channel->addToast(p); |