From 52b1b19b026d3f1c9feaaf92949fc5960be1db5d Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Fri, 21 Oct 2022 19:06:05 +0200 Subject: [PATCH] Fix Clang compilation --- Source/Engine/Networking/NetworkReplicator.cpp | 2 +- Source/Engine/Serialization/WriteStream.h | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Source/Engine/Networking/NetworkReplicator.cpp b/Source/Engine/Networking/NetworkReplicator.cpp index 4769cc5aa..46bd8a4ca 100644 --- a/Source/Engine/Networking/NetworkReplicator.cpp +++ b/Source/Engine/Networking/NetworkReplicator.cpp @@ -166,7 +166,7 @@ void NetworkReplicator::AddSerializer(const ScriptingTypeHandle& typeHandle, con return; // This assumes that C# glue code passed static method pointer (via Marshal.GetFunctionPointerForDelegate) - const Serializer serializer{ INetworkSerializable_Managed, INetworkSerializable_Managed, *(SerializeFunc*)&serialize, *(SerializeFunc*)&deserialize }; + const Serializer serializer{ INetworkSerializable_Managed, INetworkSerializable_Managed, *(SerializeFunc*)(void*)&serialize, *(SerializeFunc*)(void*)&deserialize }; SerializersTable.Add(typeHandle, serializer); } diff --git a/Source/Engine/Serialization/WriteStream.h b/Source/Engine/Serialization/WriteStream.h index 5e4f06ac2..46eb6beb1 100644 --- a/Source/Engine/Serialization/WriteStream.h +++ b/Source/Engine/Serialization/WriteStream.h @@ -171,8 +171,10 @@ public: template typename TEnableIf::Value>::Type Write(const T* data) { - const Guid id = data ? data->GetID() : Guid::Empty; - WriteBytes(&id, sizeof(Guid)); + uint32 id[4] = { 0 }; + if (data) + Platform::MemoryCopy(id, &data->GetID(), sizeof(id)); + WriteBytes(id, sizeof(id)); } template @@ -183,7 +185,7 @@ public: if (size > 0) { if (TIsPODType::Value && !TIsPointer::Value) - WriteBytes(data.Get(), size * sizeof(T)); + WriteBytes(data.Get(), size * sizeof(T)); else { for (int32 i = 0; i < size; i++)