1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-27 22:49:25 +02:00

Replace few more pointers with references, remove manual delete call

This commit is contained in:
Ivan Savenko
2024-10-04 18:32:38 +00:00
parent 786f80871e
commit 48fb58e7a0
3 changed files with 11 additions and 12 deletions

View File

@@ -457,20 +457,20 @@ void CGameHandler::handleClientDisconnection(std::shared_ptr<CConnection> c)
} }
} }
void CGameHandler::handleReceivedPack(CPackForServer * pack) void CGameHandler::handleReceivedPack(CPackForServer & pack)
{ {
//prepare struct informing that action was applied //prepare struct informing that action was applied
auto sendPackageResponse = [&](bool successfullyApplied) auto sendPackageResponse = [&](bool successfullyApplied)
{ {
PackageApplied applied; PackageApplied applied;
applied.player = pack->player; applied.player = pack.player;
applied.result = successfullyApplied; applied.result = successfullyApplied;
applied.packType = CTypeList::getInstance().getTypeID(pack); applied.packType = CTypeList::getInstance().getTypeID(&pack);
applied.requestID = pack->requestID; applied.requestID = pack.requestID;
pack->c->sendPack(applied); pack.c->sendPack(applied);
}; };
if(isBlockedByQueries(pack, pack->player)) if(isBlockedByQueries(&pack, pack.player))
{ {
sendPackageResponse(false); sendPackageResponse(false);
} }
@@ -480,7 +480,7 @@ void CGameHandler::handleReceivedPack(CPackForServer * pack)
try try
{ {
ApplyGhNetPackVisitor applier(*this); ApplyGhNetPackVisitor applier(*this);
pack->visit(applier); pack.visit(applier);
result = applier.getResult(); result = applier.getResult();
} }
catch(ExceptionNotAllowedAction &) catch(ExceptionNotAllowedAction &)
@@ -489,14 +489,13 @@ void CGameHandler::handleReceivedPack(CPackForServer * pack)
} }
if(result) if(result)
logGlobal->trace("Message %s successfully applied!", typeid(*pack).name()); logGlobal->trace("Message %s successfully applied!", typeid(pack).name());
else else
complain((boost::format("Got false in applying %s... that request must have been fishy!") complain((boost::format("Got false in applying %s... that request must have been fishy!")
% typeid(*pack).name()).str()); % typeid(pack).name()).str());
sendPackageResponse(true); sendPackageResponse(true);
} }
vstd::clear_pointer(pack);
} }
CGameHandler::CGameHandler(CVCMIServer * lobby) CGameHandler::CGameHandler(CVCMIServer * lobby)

View File

@@ -194,7 +194,7 @@ public:
void init(StartInfo *si, Load::ProgressAccumulator & progressTracking); void init(StartInfo *si, Load::ProgressAccumulator & progressTracking);
void handleClientDisconnection(std::shared_ptr<CConnection> c); void handleClientDisconnection(std::shared_ptr<CConnection> c);
void handleReceivedPack(CPackForServer * pack); void handleReceivedPack(CPackForServer & pack);
bool hasPlayerAt(PlayerColor player, std::shared_ptr<CConnection> c) const; bool hasPlayerAt(PlayerColor player, std::shared_ptr<CConnection> c) const;
bool hasBothPlayersAtSameConnection(PlayerColor left, PlayerColor right) const; bool hasBothPlayersAtSameConnection(PlayerColor left, PlayerColor right) const;

View File

@@ -55,7 +55,7 @@ public:
void visitForServer(CPackForServer & serverPack) override void visitForServer(CPackForServer & serverPack) override
{ {
if (gh) if (gh)
gh->handleReceivedPack(&serverPack); gh->handleReceivedPack(serverPack);
else else
logNetwork->error("Received pack for game server while in lobby!"); logNetwork->error("Received pack for game server while in lobby!");
} }