mirror of
https://github.com/storytold/UE4-OSC.git
synced 2026-10-18 07:33:16 +00:00
crashfix: IPv4Endpoint should be initialized before use
This commit is contained in:
@@ -9,14 +9,14 @@
|
|||||||
|
|
||||||
UOscSettings::UOscSettings()
|
UOscSettings::UOscSettings()
|
||||||
: ReceiveFrom("8000"),
|
: ReceiveFrom("8000"),
|
||||||
MulticastLoopback(true),
|
MulticastLoopback(true)
|
||||||
_sendSocket(FUdpSocketBuilder(TEXT("OscSender")).Build())
|
|
||||||
{
|
{
|
||||||
|
FIPv4Endpoint::Initialize();
|
||||||
|
_sendSocket = MakeShareable(FUdpSocketBuilder(TEXT("OscSender")).Build());
|
||||||
SendTargets.Add(TEXT("127.0.0.1:8000"));
|
SendTargets.Add(TEXT("127.0.0.1:8000"));
|
||||||
}
|
}
|
||||||
|
|
||||||
UOscSettings::UOscSettings(FVTableHelper & helper)
|
UOscSettings::UOscSettings(FVTableHelper & helper)
|
||||||
: _sendSocket(FUdpSocketBuilder(TEXT("OscSender")).Build())
|
|
||||||
{
|
{
|
||||||
// Does not need to be a valid object.
|
// Does not need to be a valid object.
|
||||||
}
|
}
|
||||||
@@ -98,7 +98,7 @@ void UOscSettings::Send(const uint8 *buffer, int32 length, int32 targetIndex)
|
|||||||
bool error = false;
|
bool error = false;
|
||||||
for(const auto & address : _sendAddresses)
|
for(const auto & address : _sendAddresses)
|
||||||
{
|
{
|
||||||
if(!SendImpl(&_sendSocket.Get(), buffer, length, *address))
|
if(!SendImpl(_sendSocket.Get(), buffer, length, *address))
|
||||||
{
|
{
|
||||||
const auto target = address->ToString(true);
|
const auto target = address->ToString(true);
|
||||||
UE_LOG(LogOSC, Error, TEXT("Cannot send OSC: %s : socket cannot send data"), *target);
|
UE_LOG(LogOSC, Error, TEXT("Cannot send OSC: %s : socket cannot send data"), *target);
|
||||||
@@ -120,7 +120,7 @@ void UOscSettings::Send(const uint8 *buffer, int32 length, int32 targetIndex)
|
|||||||
else if(targetIndex < _sendAddresses.Num())
|
else if(targetIndex < _sendAddresses.Num())
|
||||||
{
|
{
|
||||||
bool error = false;
|
bool error = false;
|
||||||
if(!SendImpl(&_sendSocket.Get(), buffer, length, *_sendAddresses[targetIndex]))
|
if(!SendImpl(_sendSocket.Get(), buffer, length, *_sendAddresses[targetIndex]))
|
||||||
{
|
{
|
||||||
const auto target = _sendAddresses[targetIndex]->ToString(true);
|
const auto target = _sendAddresses[targetIndex]->ToString(true);
|
||||||
UE_LOG(LogOSC, Error, TEXT("Cannot send OSC: %s : socket cannot send data"), *target);
|
UE_LOG(LogOSC, Error, TEXT("Cannot send OSC: %s : socket cannot send data"), *target);
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ private:
|
|||||||
int32 AddSendTarget(const FString & ip_port);
|
int32 AddSendTarget(const FString & ip_port);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
TSharedRef<FSocket> _sendSocket;
|
TSharedPtr<FSocket> _sendSocket;
|
||||||
TArray<TSharedRef<FInternetAddr>> _sendAddresses;
|
TArray<TSharedRef<FInternetAddr>> _sendAddresses;
|
||||||
TMap<FString, int32> _sendAddressesIndex;
|
TMap<FString, int32> _sendAddressesIndex;
|
||||||
TArray<std::unique_ptr<OscReceiverInputKey>> _keyReceivers;
|
TArray<std::unique_ptr<OscReceiverInputKey>> _keyReceivers;
|
||||||
|
|||||||
Reference in New Issue
Block a user