Changeset 3160

Show
Ignore:
Timestamp:
02/08/2010 03:37:43 PM (7 months ago)
Author:
jackpoz
Message:

FIXED: Raid leaders received a "You left the group" message when inviting someone in the raid, even if they were still in the raid.
FIXED: Crash added in r3158.

Location:
trunk/src/arcemu-world
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • trunk/src/arcemu-world/GroupHandler.cpp

    r3159 r3160  
    105105        player->GetSession()->SendPacket(&data); 
    106106 
    107         uint32 gtype = 0; 
    108         if(group) 
    109                 gtype = group->GetGroupType(); 
    110  
    111         SendPartyCommandResult(_player, gtype, membername, ERR_PARTY_NO_ERROR); 
     107        SendPartyCommandResult(_player, 0, membername, ERR_PARTY_NO_ERROR); 
    112108 
    113109        // 16/08/06 - change to guid to prevent very unlikely event of a crash in deny, etc 
  • trunk/src/arcemu-world/MapCell.cpp

    r3131 r3160  
    4141        _unloadpending=false; 
    4242        _objects.clear(); 
     43        objects_iterator = _objects.begin(); 
    4344} 
    4445 
     
    5556        if(obj->IsPlayer()) 
    5657                --_playerCount; 
     58 
     59        if(objects_iterator != _objects.end() && (*objects_iterator) == obj)   
     60                ++objects_iterator; 
    5761 
    5862        _objects.erase(obj); 
     
    129133 
    130134        //This time it's simpler! We just remove everything :) 
    131         for(itr = _objects.begin(); itr != _objects.end(); ) 
     135        for(objects_iterator = _objects.begin(); objects_iterator != _objects.end(); ) 
    132136        { 
    133137                count++; 
    134138 
    135                 Object *obj = (*itr); 
    136  
    137                 itr++; 
     139                Object *obj = (*objects_iterator); 
     140 
     141                objects_iterator++; 
    138142 
    139143                //zack : we actually never set this to null. Useless check for lucky memory corruption hit. 
  • trunk/src/arcemu-world/MapCell.h

    r3131 r3160  
    7373 
    7474        ObjectSet _respawnObjects; 
     75        ObjectSet::iterator objects_iterator;//required by MapCell::RemoveObjects() removing Creatures which will remove their guardians and corrupt itr. 
    7576 
    7677private: