From 8804c47e59b550ec9a533de662f086af623d68c1 Mon Sep 17 00:00:00 2001 From: Loic Blot Date: Sun, 5 Apr 2015 11:37:53 +0200 Subject: TOCLIENT_ACTIVE_OBJECT_REMOVE_ADD can be unreliable, catch PacketError exception. Also set the packet size at creation not when pushing rawString, no functional change --- src/server.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/server.cpp') diff --git a/src/server.cpp b/src/server.cpp index 4971e6f66..cb62f7e86 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -1897,7 +1897,7 @@ void Server::SendPlayerInventoryFormspec(u16 peer_id) u32 Server::SendActiveObjectRemoveAdd(u16 peer_id, const std::string &datas) { - NetworkPacket pkt(TOCLIENT_ACTIVE_OBJECT_REMOVE_ADD, 0, peer_id); + NetworkPacket pkt(TOCLIENT_ACTIVE_OBJECT_REMOVE_ADD, datas.size(), peer_id); pkt.putRawString(datas.c_str(), datas.size()); Send(&pkt); return pkt.getSize(); @@ -1906,7 +1906,7 @@ u32 Server::SendActiveObjectRemoveAdd(u16 peer_id, const std::string &datas) void Server::SendActiveObjectMessages(u16 peer_id, const std::string &datas, bool reliable) { NetworkPacket pkt(TOCLIENT_ACTIVE_OBJECT_MESSAGES, - 0, peer_id); + datas.size(), peer_id); pkt.putRawString(datas.c_str(), datas.size()); -- cgit v1.2.3