From 81f4da646800e2a1b7218397290183144f6aed92 Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Tue, 6 Jun 2017 12:47:51 +0300 Subject: MAINT-7447 FIXED Selecting a group ability refreshes the list and deselects your choice --- indra/newview/llpanelgrouproles.cpp | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) (limited to 'indra/newview/llpanelgrouproles.cpp') diff --git a/indra/newview/llpanelgrouproles.cpp b/indra/newview/llpanelgrouproles.cpp index 8440e9ee50..473451bdb6 100644 --- a/indra/newview/llpanelgrouproles.cpp +++ b/indra/newview/llpanelgrouproles.cpp @@ -2775,6 +2775,16 @@ void LLPanelGroupActionsSubTab::activate() LLPanelGroupSubTab::activate(); update(GC_ALL); + mActionDescription->clear(); + mActionList->deselectAllItems(); + mActionList->deleteAllItems(); + buildActionsList(mActionList, + GP_ALL_POWERS, + GP_ALL_POWERS, + NULL, + FALSE, + TRUE, + FALSE); } void LLPanelGroupActionsSubTab::deactivate() @@ -2803,19 +2813,17 @@ void LLPanelGroupActionsSubTab::update(LLGroupChange gc) if (mGroupID.isNull()) return; - mActionList->deselectAllItems(); mActionMembers->deleteAllItems(); mActionRoles->deleteAllItems(); - mActionDescription->clear(); - mActionList->deleteAllItems(); - buildActionsList(mActionList, - GP_ALL_POWERS, - GP_ALL_POWERS, - NULL, - FALSE, - TRUE, - FALSE); + if(mActionList->hasSelectedItem()) + { + LLGroupMgrGroupData* gdatap = LLGroupMgr::getInstance()->getGroupData(mGroupID); + if (gdatap && gdatap->isMemberDataComplete() && gdatap->isRoleDataComplete()) + { + handleActionSelect(); + } + } } void LLPanelGroupActionsSubTab::handleActionSelect() -- cgit v1.2.3 From 95d0da56fda169a7cce34e07f8ae76f86dce42c0 Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Wed, 7 Jun 2017 18:56:24 +0300 Subject: MAINT-7447 restore filter functionality in Abilities tab --- indra/newview/llpanelgrouproles.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'indra/newview/llpanelgrouproles.cpp') diff --git a/indra/newview/llpanelgrouproles.cpp b/indra/newview/llpanelgrouproles.cpp index 473451bdb6..78270c20bb 100644 --- a/indra/newview/llpanelgrouproles.cpp +++ b/indra/newview/llpanelgrouproles.cpp @@ -494,6 +494,7 @@ void LLPanelGroupSubTab::setSearchFilter(const std::string& filter) mSearchFilter = filter; LLStringUtil::toLower(mSearchFilter); update(GC_ALL); + onFilterChanged(); } void LLPanelGroupSubTab::activate() @@ -2826,6 +2827,20 @@ void LLPanelGroupActionsSubTab::update(LLGroupChange gc) } } +void LLPanelGroupActionsSubTab::onFilterChanged() +{ + mActionDescription->clear(); + mActionList->deselectAllItems(); + mActionList->deleteAllItems(); + buildActionsList(mActionList, + GP_ALL_POWERS, + GP_ALL_POWERS, + NULL, + FALSE, + TRUE, + FALSE); +} + void LLPanelGroupActionsSubTab::handleActionSelect() { mActionMembers->deleteAllItems(); -- cgit v1.2.3 From b959a156bafd83355b6b7350318500cdc14420f3 Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Tue, 20 Jun 2017 17:14:18 +0300 Subject: MAINT-7507 FIXED When assigning abilities to a group role, ticking "Manage ban list" causes other selected abilities to untick --- indra/newview/llpanelgrouproles.cpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) (limited to 'indra/newview/llpanelgrouproles.cpp') diff --git a/indra/newview/llpanelgrouproles.cpp b/indra/newview/llpanelgrouproles.cpp index 78270c20bb..66a0a1d4ad 100644 --- a/indra/newview/llpanelgrouproles.cpp +++ b/indra/newview/llpanelgrouproles.cpp @@ -2472,12 +2472,7 @@ void LLPanelGroupRolesSubTab::handleActionCheck(LLUICtrl* ctrl, bool force) ////////////////////////////////////////////////////////////////////////// - LLGroupMgrGroupData::role_list_t::iterator rit = gdatap->mRoles.find(role_id); - U64 current_role_powers = GP_NO_POWERS; - if (rit != gdatap->mRoles.end()) - { - current_role_powers = ((*rit).second->getRoleData().mRolePowers); - } + U64 current_role_powers = gdatap->getRolePowers(role_id); if(isEnablingAbility) { -- cgit v1.2.3