From bfc4652c668f7fffc134d461800d9fe4f0055837 Mon Sep 17 00:00:00 2001
From: Loic Blot <loic.blot@unix-experience.fr>
Date: Tue, 17 Mar 2015 09:16:39 +0100
Subject: [PATCH] Fix a little regression on SendActiveObjectMessages which
 send all TOCLIENT_ACTIVE_OBJECT_MESSAGES as reliable

---
 src/server.cpp | 10 +++++++---
 src/server.h   |  2 +-
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/server.cpp b/src/server.cpp
index 35405851f..18968cdf9 100644
--- a/src/server.cpp
+++ b/src/server.cpp
@@ -845,7 +845,7 @@ void Server::AsyncRunStep(bool initial_step)
 			}
 
 			if(unreliable_data.size() > 0) {
-				SendActiveObjectMessages(client->peer_id, unreliable_data);
+				SendActiveObjectMessages(client->peer_id, unreliable_data, false);
 			}
 		}
 		m_clients.Unlock();
@@ -1893,13 +1893,17 @@ u32 Server::SendActiveObjectRemoveAdd(u16 peer_id, const std::string &datas)
 	return pkt.getSize();
 }
 
-void Server::SendActiveObjectMessages(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);
 
 	pkt.putRawString(datas.c_str(), datas.size());
-	Send(&pkt);
+
+	m_clients.send(pkt.getPeerId(),
+			clientCommandFactoryTable[pkt.getCommand()].channel,
+			&pkt, reliable);
+
 }
 
 s32 Server::playSound(const SimpleSoundSpec &spec,
diff --git a/src/server.h b/src/server.h
index 900a1eaaa..f62b5b660 100644
--- a/src/server.h
+++ b/src/server.h
@@ -464,7 +464,7 @@ class Server : public con::PeerHandler, public MapEventReceiver,
 		bool collisiondetection, bool vertical, std::string texture);
 
 	u32 SendActiveObjectRemoveAdd(u16 peer_id, const std::string &datas);
-	void SendActiveObjectMessages(u16 peer_id, const std::string &datas);
+	void SendActiveObjectMessages(u16 peer_id, const std::string &datas, bool reliable = true);
 	/*
 		Something random
 	*/
-- 
GitLab