[Core] Fix crash during gm .saveall
This commit is contained in:
parent
f8f4d90dcf
commit
03ea10a6b8
@ -105,10 +105,15 @@ Player* ObjectAccessor::FindPlayerByName(const char* name)
|
|||||||
void
|
void
|
||||||
ObjectAccessor::SaveAllPlayers()
|
ObjectAccessor::SaveAllPlayers()
|
||||||
{
|
{
|
||||||
HashMapHolder<Player>::ReadGuard g(HashMapHolder<Player>::GetLock());
|
SessionMap const& smap = sWorld.GetAllSessions();
|
||||||
HashMapHolder<Player>::MapType& m = sObjectAccessor.GetPlayers();
|
SessionMap::const_iterator iter;
|
||||||
for (HashMapHolder<Player>::MapType::iterator itr = m.begin(); itr != m.end(); ++itr)
|
for (iter = smap.begin(); iter != smap.end(); ++iter){
|
||||||
{ itr->second->SaveToDB(); }
|
if (Player* player = iter->second->GetPlayer()){
|
||||||
|
if (player->IsInWorld()){
|
||||||
|
player->SaveToDB();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ObjectAccessor::KickPlayer(ObjectGuid guid)
|
void ObjectAccessor::KickPlayer(ObjectGuid guid)
|
||||||
|
@ -412,6 +412,8 @@ enum RealmZone
|
|||||||
REALM_ZONE_CN9 = 29 // basic-Latin at create, any at login
|
REALM_ZONE_CN9 = 29 // basic-Latin at create, any at login
|
||||||
};
|
};
|
||||||
|
|
||||||
|
typedef std::unordered_map<uint32, WorldSession*> SessionMap;
|
||||||
|
|
||||||
/// Storage class for commands issued for delayed execution
|
/// Storage class for commands issued for delayed execution
|
||||||
struct CliCommandHolder
|
struct CliCommandHolder
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user