diff options
| -rwxr-xr-x | indra/newview/llpanelgrouproles.cpp | 24 | ||||
| -rwxr-xr-x | indra/newview/llpanelgrouproles.h | 3 | 
2 files changed, 17 insertions, 10 deletions
diff --git a/indra/newview/llpanelgrouproles.cpp b/indra/newview/llpanelgrouproles.cpp index 256f12a796..2fcaa5666e 100755 --- a/indra/newview/llpanelgrouproles.cpp +++ b/indra/newview/llpanelgrouproles.cpp @@ -427,7 +427,7 @@ void LLPanelGroupRoles::setGroupID(const LLUUID& id)  	if(mSubTabContainer)  		mSubTabContainer->selectTab(1); - +	group_roles_tab->mFirstOpen = TRUE;  	activate();  } @@ -1825,7 +1825,7 @@ LLPanelGroupRolesSubTab::LLPanelGroupRolesSubTab()  	mMemberVisibleCheck(NULL),  	mDeleteRoleButton(NULL),  	mCreateRoleButton(NULL), - +	mFirstOpen(TRUE),  	mHasRoleChange(FALSE)  {  } @@ -1927,6 +1927,7 @@ void LLPanelGroupRolesSubTab::deactivate()  	LL_DEBUGS() << "LLPanelGroupRolesSubTab::deactivate()" << LL_ENDL;  	LLPanelGroupSubTab::deactivate(); +	mFirstOpen = FALSE;  }  bool LLPanelGroupRolesSubTab::needsApply(std::string& mesg) @@ -1950,7 +1951,7 @@ bool LLPanelGroupRolesSubTab::apply(std::string& mesg)  	LL_DEBUGS() << "LLPanelGroupRolesSubTab::apply()" << LL_ENDL;  	saveRoleChanges(true); - +	mFirstOpen = FALSE;  	LLGroupMgr::getInstance()->sendGroupRoleChanges(mGroupID);  	notifyObservers(); @@ -2087,14 +2088,17 @@ void LLPanelGroupRolesSubTab::update(LLGroupChange gc)  		}  	} -	if (!gdatap || !gdatap->isMemberDataComplete()) -	{ -		LLGroupMgr::getInstance()->sendCapGroupMembersRequest(mGroupID); -	} -	 -	if (!gdatap || !gdatap->isRoleMemberDataComplete()) +	if(!mFirstOpen)  	{ -		LLGroupMgr::getInstance()->sendGroupRoleMembersRequest(mGroupID); +		if (!gdatap || !gdatap->isMemberDataComplete()) +		{ +			LLGroupMgr::getInstance()->sendCapGroupMembersRequest(mGroupID); +		} + +		if (!gdatap || !gdatap->isRoleMemberDataComplete()) +		{ +			LLGroupMgr::getInstance()->sendGroupRoleMembersRequest(mGroupID); +		}  	}  	if ((GC_ROLE_MEMBER_DATA == gc || GC_MEMBER_DATA == gc) diff --git a/indra/newview/llpanelgrouproles.h b/indra/newview/llpanelgrouproles.h index 26f1dff007..052f1d2071 100755 --- a/indra/newview/llpanelgrouproles.h +++ b/indra/newview/llpanelgrouproles.h @@ -268,6 +268,9 @@ public:  	void saveRoleChanges(bool select_saved_role);  	virtual void setGroupID(const LLUUID& id); + +	BOOL	mFirstOpen; +  protected:  	void handleActionCheck(LLUICtrl* ctrl, bool force);  	LLSD createRoleItem(const LLUUID& role_id, std::string name, std::string title, S32 members);  | 
