diff --git a/indra/newview/llavataractions.cpp b/indra/newview/llavataractions.cpp
index 35f731bff..fae1b7c3d 100644
--- a/indra/newview/llavataractions.cpp
+++ b/indra/newview/llavataractions.cpp
@@ -37,6 +37,7 @@
#include "llagent.h"
#include "llcallingcard.h" // for LLAvatarTracker
#include "llfloateravatarinfo.h"
+#include "llfloatergroupbulkban.h"
#include "llfloatergroupinvite.h"
#include "llfloatergroups.h"
#include "llfloaterwebprofile.h"
@@ -747,6 +748,24 @@ bool LLAvatarActions::handlePay(const LLSD& notification, const LLSD& response,
return false;
}
+// Ban from group functions
+void callback_ban_from_group(const LLUUID& group, uuid_vec_t& ids)
+{
+ LLFloaterGroupBulkBan::showForGroup(group, &ids);
+}
+
+void ban_from_group(const uuid_vec_t& ids)
+{
+ if (LLFloaterGroupPicker* widget = LLFloaterGroupPicker::showInstance(ids.front())) // It'd be cool if LLSD could be formed from uuid_vec_t
+ {
+ widget->center();
+ widget->setPowersMask(GP_GROUP_BAN_ACCESS);
+ widget->removeNoneOption();
+ widget->setSelectGroupCallback(boost::bind(callback_ban_from_group, _1, ids));
+ }
+}
+//
+
// static
void LLAvatarActions::callback_invite_to_group(LLUUID group_id, LLUUID id)
{
diff --git a/indra/newview/llfloaterperms.cpp b/indra/newview/llfloaterperms.cpp
index bb0dbe934..aa6b76c87 100644
--- a/indra/newview/llfloaterperms.cpp
+++ b/indra/newview/llfloaterperms.cpp
@@ -234,8 +234,8 @@ private:
void httpFailure(void)
{
// Prevent 404s from annoying the user all the tme
- if (status == HTTP_NOT_FOUND)
- LL_INFOS("FloaterPermsResponder") << "Failed to send default permissions to simulator. 404, reason: " << reason << LL_ENDL;
+ if (mStatus == HTTP_NOT_FOUND)
+ LL_INFOS("FloaterPermsResponder") << "Failed to send default permissions to simulator. 404, reason: " << mReason << LL_ENDL;
else
//
// Do not display the same error more than once in a row
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index d417b1d2d..bcc2f5ee5 100644
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -9012,6 +9012,16 @@ class ListVisibleWebProfile : public view_listener_t
}
};
+void ban_from_group(const uuid_vec_t& ids);
+class ListBanFromGroup : public view_listener_t
+{
+ bool handleEvent(LLPointer event, const LLSD& userdata)
+ {
+ ban_from_group(get_focused_list_ids_selected());
+ return true;
+ }
+};
+
class ListCopySLURL : public view_listener_t
{
bool handleEvent(LLPointer event, const LLSD& userdata)
@@ -9528,6 +9538,7 @@ void initialize_menus()
addMenu(new ListEnableMute(), "List.EnableMute");
addMenu(new ListEnableOfferTeleport(), "List.EnableOfferTeleport");
addMenu(new ListVisibleWebProfile(), "List.VisibleWebProfile");
+ addMenu(new ListBanFromGroup(), "List.BanFromGroup");
addMenu(new ListCopySLURL(), "List.CopySLURL");
addMenu(new ListCopyUUIDs(), "List.CopyUUIDs");
addMenu(new ListInviteToGroup(), "List.InviteToGroup");
diff --git a/indra/newview/skins/default/xui/en-us/menu_avs_list.xml b/indra/newview/skins/default/xui/en-us/menu_avs_list.xml
index 53fff36bd..2ba08eaaa 100644
--- a/indra/newview/skins/default/xui/en-us/menu_avs_list.xml
+++ b/indra/newview/skins/default/xui/en-us/menu_avs_list.xml
@@ -44,6 +44,10 @@
+
+
+
+
diff --git a/indra/newview/skins/default/xui/en-us/menu_radar.xml b/indra/newview/skins/default/xui/en-us/menu_radar.xml
index 6104e9b1a..35cae2cd9 100644
--- a/indra/newview/skins/default/xui/en-us/menu_radar.xml
+++ b/indra/newview/skins/default/xui/en-us/menu_radar.xml
@@ -45,6 +45,10 @@
+
+
+
+