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 c30c932c41..160a0ee417 100755 --- a/indra/newview/llpanelgrouproles.cpp +++ b/indra/newview/llpanelgrouproles.cpp @@ -1768,7 +1768,7 @@ LLPanelGroupRolesSubTab::LLPanelGroupRolesSubTab()  	mMemberVisibleCheck(NULL),  	mDeleteRoleButton(NULL),  	mCreateRoleButton(NULL), - +	mFirstOpen(TRUE),  	mHasRoleChange(FALSE)  {  } @@ -1870,6 +1870,7 @@ void LLPanelGroupRolesSubTab::deactivate()  	lldebugs << "LLPanelGroupRolesSubTab::deactivate()" << llendl;  	LLPanelGroupSubTab::deactivate(); +	mFirstOpen = FALSE;  }  bool LLPanelGroupRolesSubTab::needsApply(std::string& mesg) @@ -1887,7 +1888,7 @@ bool LLPanelGroupRolesSubTab::apply(std::string& mesg)  	lldebugs << "LLPanelGroupRolesSubTab::apply()" << llendl;  	saveRoleChanges(true); - +	mFirstOpen = FALSE;  	LLGroupMgr::getInstance()->sendGroupRoleChanges(mGroupID);  	notifyObservers(); @@ -2024,14 +2025,17 @@ void LLPanelGroupRolesSubTab::update(LLGroupChange gc)  		}  	} -	if (!gdatap || !gdatap->isMemberDataComplete()) +	if(!mFirstOpen)  	{ -		LLGroupMgr::getInstance()->sendCapGroupMembersRequest(mGroupID); -	} -	 -	if (!gdatap || !gdatap->isRoleMemberDataComplete()) -	{ -		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) @@ -2662,7 +2666,7 @@ void LLPanelGroupRoles::setGroupID(const LLUUID& id)  	if(mSubTabContainer)  		mSubTabContainer->selectTab(1); - +	group_roles_tab->mFirstOpen = TRUE;  	activate();  } diff --git a/indra/newview/llpanelgrouproles.h b/indra/newview/llpanelgrouproles.h index 0cf272f3ee..71b1db5079 100755 --- a/indra/newview/llpanelgrouproles.h +++ b/indra/newview/llpanelgrouproles.h @@ -259,6 +259,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); | 
