summaryrefslogtreecommitdiff
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
parent2641a105f644060ef1b63f8302b937af68fd8cd5 (diff)
[MAINT-3834] Banning more than 100 residents causes multiple floaters
- Removed superfluous floater dialogs from displaying Reviewer: Simon
-rw-r--r--indra/newview/llpanelgroupbulk.cpp17
-rw-r--r--indra/newview/llpanelgroupbulkimpl.h2
-rw-r--r--indra/newview/skins/default/xui/en/panel_group_bulk_ban.xml2
3 files changed, 16 insertions, 5 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);
}
diff --git a/indra/newview/llpanelgroupbulkimpl.h b/indra/newview/llpanelgroupbulkimpl.h
index 3241c019de..0bc834d67e 100644
--- a/indra/newview/llpanelgroupbulkimpl.h
+++ b/indra/newview/llpanelgroupbulkimpl.h
@@ -63,6 +63,7 @@ public:
public:
static const S32 MAX_GROUP_INVITES = 100; // Max invites per request. 100 to match server cap.
+
LLUUID mGroupID;
@@ -88,6 +89,7 @@ public:
std::string mOwnerWarning;
std::string mAlreadyInGroup;
bool mConfirmedOwnerInvite;
+ bool mListFullNotificationSent;
};
#endif // LL_LLPANELGROUPBULKIMPL_H
diff --git a/indra/newview/skins/default/xui/en/panel_group_bulk_ban.xml b/indra/newview/skins/default/xui/en/panel_group_bulk_ban.xml
index bdea79f79d..8dd2719926 100644
--- a/indra/newview/skins/default/xui/en/panel_group_bulk_ban.xml
+++ b/indra/newview/skins/default/xui/en/panel_group_bulk_ban.xml
@@ -13,7 +13,7 @@
</panel.string>
<panel.string
name="ban_selection_too_large">
- Group Invitations not sent: too many Residents selected. Group Invitations are limited to 100 per request.
+ Group bans not sent: too many Residents selected. Group bans are limited to 100 per request.
</panel.string>
<text
type="string"