summaryrefslogtreecommitdiff
path: root/indra/newview/llpanelgroupbulk.cpp
diff options
context:
space:
mode:
authorBaker Linden <baker@lindenlab.com>2014-05-06 11:01:59 -0700
committerBaker Linden <baker@lindenlab.com>2014-05-06 11:01:59 -0700
commitbfc274741ad97a2885a26ae35108e158aeb9525e (patch)
tree6bf3db9afc5cfba5b6c1d0e9d6067f8d04ef17b9 /indra/newview/llpanelgroupbulk.cpp
parent2641a105f644060ef1b63f8302b937af68fd8cd5 (diff)
[MAINT-3834] Banning more than 100 residents causes multiple floaters
- Removed superfluous floater dialogs from displaying Reviewer: Simon
Diffstat (limited to 'indra/newview/llpanelgroupbulk.cpp')
-rw-r--r--indra/newview/llpanelgroupbulk.cpp17
1 files changed, 13 insertions, 4 deletions
diff --git a/indra/newview/llpanelgroupbulk.cpp b/indra/newview/llpanelgroupbulk.cpp
index 9d02b9b45a..1eafc5bd64 100644
--- a/indra/newview/llpanelgroupbulk.cpp
+++ b/indra/newview/llpanelgroupbulk.cpp
@@ -66,7 +66,8 @@ LLPanelGroupBulkImpl::LLPanelGroupBulkImpl(const LLUUID& group_id) :
mRoleNames(NULL),
mOwnerWarning(),
mAlreadyInGroup(),
- mConfirmedOwnerInvite(false)
+ mConfirmedOwnerInvite(false),
+ mListFullNotificationSent(false)
{}
LLPanelGroupBulkImpl::~LLPanelGroupBulkImpl()
@@ -201,17 +202,24 @@ void LLPanelGroupBulkImpl::addUsers(const std::vector<std::string>& names, const
{
std::string name;
LLUUID id;
-
- if(names.size() + mInviteeIDs.size() > MAX_GROUP_INVITES)
+ if(mListFullNotificationSent)
+ {
+ return;
+ }
+
+ if( !mListFullNotificationSent &&
+ (names.size() + mInviteeIDs.size() > MAX_GROUP_INVITES))
{
+ mListFullNotificationSent = true;
+
// Fail! Show a warning and don't add any names.
LLSD msg;
msg["MESSAGE"] = mTooManySelected;
LLNotificationsUtil::add("GenericAlert", msg);
return;
}
-
+
for (S32 i = 0; i < (S32)names.size(); ++i)
{
name = names[i];
@@ -407,6 +415,7 @@ void LLPanelGroupBulk::addUsers(uuid_vec_t& agent_ids)
}
}
}
+ mImplementation->mListFullNotificationSent = false;
mImplementation->addUsers(names, agent_ids);
}