[9952] Allow update subgroup in raid for offline players.

Also prevent crash and wrong subgroup number send from client.
This commit is contained in:
VladimirMangos 2010-05-22 11:47:46 +04:00
parent 29c0efe9b4
commit f758fac6f7
2 changed files with 8 additions and 2 deletions

View file

@ -510,6 +510,9 @@ void WorldSession::HandleGroupChangeSubGroupOpcode( WorldPacket & recv_data )
recv_data >> groupNr;
if (groupNr >= MAX_RAID_SUBGROUPS)
return;
// we will get correct pointer for group here, so we don't have to check if group is BG raid
Group *group = GetPlayer()->GetGroup();
if(!group)
@ -524,7 +527,10 @@ void WorldSession::HandleGroupChangeSubGroupOpcode( WorldPacket & recv_data )
/********************/
// everything is fine, do it
group->ChangeMembersGroup(sObjectMgr.GetPlayer(name.c_str()), groupNr);
if (Player* player = sObjectMgr.GetPlayer(name.c_str()))
group->ChangeMembersGroup(player, groupNr);
else
group->ChangeMembersGroup(sObjectMgr.GetPlayerGUIDByName(name.c_str()), groupNr);
}
void WorldSession::HandleGroupAssistantLeaderOpcode( WorldPacket & recv_data )

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__
#define __REVISION_NR_H__
#define REVISION_NR "9951"
#define REVISION_NR "9952"
#endif // __REVISION_NR_H__