diff options
author | Baker Linden <baker@lindenlab.com> | 2014-05-06 11:01:59 -0700 |
---|---|---|
committer | Baker Linden <baker@lindenlab.com> | 2014-05-06 11:01:59 -0700 |
commit | bfc274741ad97a2885a26ae35108e158aeb9525e (patch) | |
tree | 6bf3db9afc5cfba5b6c1d0e9d6067f8d04ef17b9 | |
parent | 2641a105f644060ef1b63f8302b937af68fd8cd5 (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.cpp | 17 | ||||
-rw-r--r-- | indra/newview/llpanelgroupbulkimpl.h | 2 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/panel_group_bulk_ban.xml | 2 |
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" |