diff --git a/server/gameserver/pbutils.cc b/server/gameserver/pbutils.cc index 449f72d9..07bb7500 100644 --- a/server/gameserver/pbutils.cc +++ b/server/gameserver/pbutils.cc @@ -1120,18 +1120,18 @@ void Human::FillSMGameOver(cs::SMGameOver& msg) } #endif { - auto p = new cs::MFSettlementNew(); - GetTeam()->FillMFSettlementNew(p); + auto p = std::make_shared(); + GetTeam()->FillMFSettlementNew(p.get()); *msg.mutable_settlement_new() = *p; *msg.mutable_common_settlement()->add_team_list() = *p; } if (room->IsMobaModeRoom()) { - auto p = new cs::MFSettlementNew(); + auto p = std::make_shared(); if (room->GetMobaTeamA() == GetTeam()) { - room->GetMobaTeamB()->FillMFSettlementNew(p); + room->GetMobaTeamB()->FillMFSettlementNew(p.get()); *msg.mutable_common_settlement()->add_team_list() = *p; } else { - room->GetMobaTeamB()->FillMFSettlementNew(p); + room->GetMobaTeamB()->FillMFSettlementNew(p.get()); *msg.mutable_common_settlement()->add_team_list() = *p; } }