summaryrefslogtreecommitdiff
path: root/indra/newview/llchiclet.cpp
diff options
context:
space:
mode:
authorMerov Linden <merov@lindenlab.com>2013-11-18 16:07:55 -0800
committerMerov Linden <merov@lindenlab.com>2013-11-18 16:07:55 -0800
commitce5baf14ac62ecd3bf471e1b49a4e166310ebe1a (patch)
tree110869149fbc439487bb7ae0c49c24b938570b09 /indra/newview/llchiclet.cpp
parent125f3f071a30f4c47feb664b21f3e380ee4e7e49 (diff)
parentebc9bcbf69f7a519677a6522979a6bf6cbb04bb8 (diff)
Pull merge from lindenlab/viewer-release
Diffstat (limited to 'indra/newview/llchiclet.cpp')
-rwxr-xr-xindra/newview/llchiclet.cpp23
1 files changed, 15 insertions, 8 deletions
diff --git a/indra/newview/llchiclet.cpp b/indra/newview/llchiclet.cpp
index 88884042d4..131aea9da3 100755
--- a/indra/newview/llchiclet.cpp
+++ b/indra/newview/llchiclet.cpp
@@ -220,18 +220,25 @@ void LLNotificationChiclet::setCounter(S32 counter)
bool LLNotificationChiclet::ChicletNotificationChannel::filterNotification( LLNotificationPtr notification )
{
- if (notification->getName() == "ScriptDialog")
+ bool displayNotification;
+ if ( (notification->getName() == "ScriptDialog") // special case for scripts
+ // if there is no toast window for the notification, filter it
+ || (!LLNotificationWellWindow::getInstance()->findItemByID(notification->getID()))
+ )
{
- return false;
+ displayNotification = false;
}
-
- if( !(notification->canLogToIM() && notification->hasFormElements())
- && (!notification->getPayload().has("give_inventory_notification")
- || notification->getPayload()["give_inventory_notification"]))
+ else if( !(notification->canLogToIM() && notification->hasFormElements())
+ && (!notification->getPayload().has("give_inventory_notification")
+ || notification->getPayload()["give_inventory_notification"]))
{
- return true;
+ displayNotification = true;
}
- return false;
+ else
+ {
+ displayNotification = false;
+ }
+ return displayNotification;
}
//////////////////////////////////////////////////////////////////////////