diff options
| author | dolphin <dolphin@lindenlab.com> | 2014-05-20 10:03:09 -0700 |
|---|---|---|
| committer | dolphin <dolphin@lindenlab.com> | 2014-05-20 10:03:09 -0700 |
| commit | 0481494c2df074d2b548d6b80e595a208a2848c3 (patch) | |
| tree | f3554fc49b549a4ae2b9d1e9a5f157e478ee38df /indra/newview/llpanelgroup.cpp | |
| parent | 4c7b0cb528f61bc20866c2f7c43049ef7bc49bf2 (diff) | |
| parent | 644ca6a0f8a7759119814f88df93b8e838321a12 (diff) | |
Merge with 3.7.8-release
Diffstat (limited to 'indra/newview/llpanelgroup.cpp')
| -rwxr-xr-x | indra/newview/llpanelgroup.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/indra/newview/llpanelgroup.cpp b/indra/newview/llpanelgroup.cpp index bf332d1ca7..f4aab6bd4e 100755 --- a/indra/newview/llpanelgroup.cpp +++ b/indra/newview/llpanelgroup.cpp @@ -49,6 +49,7 @@ #include "llpanelgroupnotices.h" #include "llpanelgroupgeneral.h" +#include "llpanelgrouproles.h" #include "llaccordionctrltab.h" #include "llaccordionctrl.h" @@ -275,6 +276,7 @@ void LLPanelGroup::onBtnApply(void* user_data) { LLPanelGroup* self = static_cast<LLPanelGroup*>(user_data); self->apply(); + self->refreshData(); } void LLPanelGroup::onBtnGroupCallClicked(void* user_data) @@ -497,6 +499,22 @@ bool LLPanelGroup::apply(LLPanelGroupTab* tab) { //we skip refreshing group after ew manually apply changes since its very annoying //for those who are editing group + + LLPanelGroupRoles * roles_tab = dynamic_cast<LLPanelGroupRoles*>(tab); + if (roles_tab) + { + LLGroupMgr* gmgrp = LLGroupMgr::getInstance(); + LLGroupMgrGroupData* gdatap = gmgrp->getGroupData(roles_tab->getGroupID()); + + // allow refresh only for one specific case: + // there is only one member in group and it is not owner + // it's a wrong situation and need refresh panels from server + if (gdatap && gdatap->isSingleMemberNotOwner()) + { + return true; + } + } + mSkipRefresh = TRUE; return true; } |
