diff --git a/server/gameserver/room.cc b/server/gameserver/room.cc index 06cd6de4..c958d0ea 100644 --- a/server/gameserver/room.cc +++ b/server/gameserver/room.cc @@ -847,12 +847,17 @@ void Room::RemoveObjectLater(RoomObstacle* entity) void Room::InternalRemoveObjectLater(Entity* entity, a8::Attacher& xtimer_attacher) { + int entity_uniid = entity->GetUniId(); auto remove_func = - [this, entity] (int event, const a8::Args* args) + [this, entity_uniid] (int event, const a8::Args* args) { if (a8::TIMER_EXEC_EVENT != event) { return; } + Entity* entity = GetEntityByUniId(entity_uniid); + if (!entity) { + return; + } switch (entity->GetEntityType()) { case ET_Bullet: {