diff --git a/Source/Engine/Platform/Base/NetworkBase.cpp b/Source/Engine/Platform/Base/NetworkBase.cpp
index 55218b657..76dba7b04 100644
--- a/Source/Engine/Platform/Base/NetworkBase.cpp
+++ b/Source/Engine/Platform/Base/NetworkBase.cpp
@@ -77,7 +77,7 @@ int32 NetworkBase::AddSocketToGroup(NetworkSocketGroup& group, NetworkSocket& so
return -1;
}
-bool NetworkBase::GetSocketFromGroup(NetworkSocketGroup& group, uint32 index, NetworkSocket* socket)
+bool NetworkBase::GetSocketFromGroup(NetworkSocketGroup& group, uint32 index, NetworkSocket& socket)
{
return true;
}
diff --git a/Source/Engine/Platform/Base/NetworkBase.h b/Source/Engine/Platform/Base/NetworkBase.h
index 8615f31ac..2ae26875d 100644
--- a/Source/Engine/Platform/Base/NetworkBase.h
+++ b/Source/Engine/Platform/Base/NetworkBase.h
@@ -270,7 +270,7 @@ public:
/// The index.
/// The returned socket.
/// Returns true on error, otherwise false.
- API_FUNCTION() static bool GetSocketFromGroup(API_PARAM(Ref) NetworkSocketGroup& group, uint32 index, API_PARAM(Out) NetworkSocket* socket);
+ API_FUNCTION() static bool GetSocketFromGroup(API_PARAM(Ref) NetworkSocketGroup& group, uint32 index, API_PARAM(Out) NetworkSocket& socket);
///
/// Removes the socket at the specified index.
diff --git a/Source/Engine/Platform/Win32/Win32Network.cpp b/Source/Engine/Platform/Win32/Win32Network.cpp
index 2e77d93cb..089b4b2b5 100644
--- a/Source/Engine/Platform/Win32/Win32Network.cpp
+++ b/Source/Engine/Platform/Win32/Win32Network.cpp
@@ -339,21 +339,21 @@ int32 Win32Network::AddSocketToGroup(NetworkSocketGroup& group, NetworkSocket& s
return -1;
}
-bool Win32Network::GetSocketFromGroup(NetworkSocketGroup& group, uint32 index, NetworkSocket* socket)
+bool Win32Network::GetSocketFromGroup(NetworkSocketGroup& group, uint32 index, NetworkSocket& socket)
{
if (index >= group.Capacity)
return true;
SOCKET s = ((pollfd*)&group.Data[index * SOCKGROUP_ITEMSIZE])->fd;
- memcpy(socket->Data, &s, sizeof(s));
+ memcpy(socket.Data, &s, sizeof(s));
int32 value;
- if (GetSocketOption(*socket, NetworkSocketOption::Type, value))
+ if (GetSocketOption(socket, NetworkSocketOption::Type, value))
return true;
if (value == SOCK_DGRAM)
- socket->Protocol = NetworkProtocol::Udp;
+ socket.Protocol = NetworkProtocol::Udp;
else if (value == SOCK_STREAM)
- socket->Protocol = NetworkProtocol::Tcp;
+ socket.Protocol = NetworkProtocol::Tcp;
else
- socket->Protocol = NetworkProtocol::Undefined;
+ socket.Protocol = NetworkProtocol::Undefined;
return false;
}
diff --git a/Source/Engine/Platform/Win32/Win32Network.h b/Source/Engine/Platform/Win32/Win32Network.h
index c8c281e2a..f5e40ae54 100644
--- a/Source/Engine/Platform/Win32/Win32Network.h
+++ b/Source/Engine/Platform/Win32/Win32Network.h
@@ -26,7 +26,7 @@ public:
static int32 Poll(NetworkSocketGroup& group);
static bool GetSocketState(NetworkSocketGroup& group, uint32 index, NetworkSocketState& state);
static int32 AddSocketToGroup(NetworkSocketGroup& group, NetworkSocket& socket);
- static bool GetSocketFromGroup(NetworkSocketGroup& group, uint32 index, NetworkSocket* socket);
+ static bool GetSocketFromGroup(NetworkSocketGroup& group, uint32 index, NetworkSocket& socket);
static void RemoveSocketFromGroup(NetworkSocketGroup& group, uint32 index);
static bool RemoveSocketFromGroup(NetworkSocketGroup& group, NetworkSocket& socket);
static void ClearGroup(NetworkSocketGroup& group);
diff --git a/Source/Engine/Render2D/Render2D.cpp b/Source/Engine/Render2D/Render2D.cpp
index de58f6ea7..a7602dce1 100644
--- a/Source/Engine/Render2D/Render2D.cpp
+++ b/Source/Engine/Render2D/Render2D.cpp
@@ -882,7 +882,7 @@ static uint32 ComputeBlurWeights(int32 kernelSize, float sigma, Vector4* outWeig
const uint32 numSamples = Math::DivideAndRoundUp((uint32)kernelSize, 2u);
outWeightsAndOffsets[0] = Vector4(Vector2(GetWeight(0, sigma), 0), GetWeightAndOffset(1, sigma));
uint32 sampleIndex = 1;
- for (uint32 x = 3; x < kernelSize; x += 4)
+ for (int32 x = 3; x < kernelSize; x += 4)
{
outWeightsAndOffsets[sampleIndex] = Vector4(GetWeightAndOffset((float)x, sigma), GetWeightAndOffset((float)(x + 2), sigma));
sampleIndex++;
diff --git a/Source/Tools/Flax.Build/Bindings/BindingsGenerator.Cpp.cs b/Source/Tools/Flax.Build/Bindings/BindingsGenerator.Cpp.cs
index 5868bcd8f..78fd3df73 100644
--- a/Source/Tools/Flax.Build/Bindings/BindingsGenerator.Cpp.cs
+++ b/Source/Tools/Flax.Build/Bindings/BindingsGenerator.Cpp.cs
@@ -765,7 +765,7 @@ namespace Flax.Build.Bindings
GenerateCppWrapperManagedToNative(buildData, parameterInfo.Type, caller, out var managedType, functionInfo, out _);
contents.Append(managedType);
- if (parameterInfo.IsRef || parameterInfo.IsOut)
+ if (parameterInfo.IsRef || parameterInfo.IsOut || UsePassByReference(buildData, parameterInfo.Type, caller))
contents.Append('*');
contents.Append(' ');
contents.Append(parameterInfo.Name);