diff options
| -rw-r--r-- | indra/newview/llgroupmgr.cpp | 20 | 
1 files changed, 7 insertions, 13 deletions
| diff --git a/indra/newview/llgroupmgr.cpp b/indra/newview/llgroupmgr.cpp index 4db75bbd8a..6dbd3a81e8 100644 --- a/indra/newview/llgroupmgr.cpp +++ b/indra/newview/llgroupmgr.cpp @@ -1721,15 +1721,14 @@ void LLGroupMgr::sendGroupMemberEjects(const LLUUID& group_id,  	{  		LLUUID& ejected_member_id = (*it); -		llwarns << "LLGroupMgr::sendGroupMemberEjects -- ejecting member" << ejected_member_id << llendl; -		  		// Can't use 'eject' to leave a group. -		if ((*it) == gAgent.getID()) continue; +		if (ejected_member_id == gAgent.getID()) continue;  		// Make sure they are in the group, and we need the member data -		LLGroupMgrGroupData::member_list_t::iterator mit = group_datap->mMembers.find(*it); +		LLGroupMgrGroupData::member_list_t::iterator mit = group_datap->mMembers.find(ejected_member_id);  		if (mit != group_datap->mMembers.end())  		{ +			LLGroupMemberData* member_data = (*mit).second;  			// Add them to the message  			if (start_message)  			{ @@ -1752,21 +1751,18 @@ void LLGroupMgr::sendGroupMemberEjects(const LLUUID& group_id,  			}  			// Clean up groupmgr -			for (LLGroupMemberData::role_list_t::iterator rit = (*mit).second->roleBegin(); -				 rit != (*mit).second->roleEnd(); ++rit) +			for (LLGroupMemberData::role_list_t::iterator rit = member_data->roleBegin(); +				 rit != member_data->roleEnd(); ++rit)  			{  				if ((*rit).first.notNull() && (*rit).second!=0)  				{  					(*rit).second->removeMember(ejected_member_id); - -					llwarns << "LLGroupMgr::sendGroupMemberEjects - removing member from role " << llendl;  				}  			} -			group_datap->mMembers.erase(*it); +			group_datap->mMembers.erase(ejected_member_id); -			llwarns << "LLGroupMgr::sendGroupMemberEjects - deleting memnber data " << llendl; -			delete (*mit).second; +			delete member_data;  		}  	} @@ -1774,8 +1770,6 @@ void LLGroupMgr::sendGroupMemberEjects(const LLUUID& group_id,  	{  		gAgent.sendReliableMessage();  	} - -	llwarns << "LLGroupMgr::sendGroupMemberEjects - done " << llendl;  }  void LLGroupMgr::sendGroupRoleChanges(const LLUUID& group_id) | 
