From f3f7d4a03413610f44428a92d00127e92534918b Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Wed, 28 Aug 2024 16:36:08 +0200 Subject: [PATCH] Fix incorrect network RPC sending when target client ids list is provided but is empty #2272 --- Source/Engine/Networking/NetworkReplicator.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Source/Engine/Networking/NetworkReplicator.cpp b/Source/Engine/Networking/NetworkReplicator.cpp index 8446f9ac3..2bb0d22b6 100644 --- a/Source/Engine/Networking/NetworkReplicator.cpp +++ b/Source/Engine/Networking/NetworkReplicator.cpp @@ -1503,6 +1503,8 @@ NetworkStream* NetworkReplicator::BeginInvokeRPC() bool NetworkReplicator::EndInvokeRPC(ScriptingObject* obj, const ScriptingTypeHandle& type, const StringAnsiView& name, NetworkStream* argsStream, Span targetIds) { + if (targetIds.IsValid() && targetIds.Length() == 0) + return true; // Target list is provided, but it's empty so nobody will get this RPC Scripting::ObjectsLookupIdMapping.Set(nullptr); const NetworkRpcInfo* info = NetworkRpcInfo::RPCsTable.TryGet(NetworkRpcName(type, name)); if (!info || !obj || NetworkManager::IsOffline())