summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/UdpTransceiver.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2015-08-11 10:42:04 +0200
committerBenoit Foucher <benoit@zeroc.com>2015-08-11 10:42:04 +0200
commit12f8959ad8d0843a55dd309f087dd1f8a5dda88f (patch)
tree5186165ce0e0b4bb432a9e70314e597563bb8c56 /cpp/src/Ice/UdpTransceiver.cpp
parentUpdates branch description (diff)
downloadice-12f8959ad8d0843a55dd309f087dd1f8a5dda88f.tar.bz2
ice-12f8959ad8d0843a55dd309f087dd1f8a5dda88f.tar.xz
ice-12f8959ad8d0843a55dd309f087dd1f8a5dda88f.zip
Fixed ICE-6695, Ice for WinRT hang on Windows 10
Diffstat (limited to 'cpp/src/Ice/UdpTransceiver.cpp')
-rw-r--r--cpp/src/Ice/UdpTransceiver.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/cpp/src/Ice/UdpTransceiver.cpp b/cpp/src/Ice/UdpTransceiver.cpp
index b0392ad9cfd..cabe30f8cdf 100644
--- a/cpp/src/Ice/UdpTransceiver.cpp
+++ b/cpp/src/Ice/UdpTransceiver.cpp
@@ -952,10 +952,11 @@ IceInternal::UdpTransceiver::UdpTransceiver(const ProtocolInstancePtr& instance,
}
#else
DatagramSocket^ socket = safe_cast<DatagramSocket^>(_fd);
+ IceUtil::Handle<UdpTransceiver> self(this);
socket->MessageReceived += ref new TypedEventHandler<DatagramSocket^, DatagramSocketMessageReceivedEventArgs^>(
[=](DatagramSocket^ fd, DatagramSocketMessageReceivedEventArgs^ args)
{
- this->appendMessage(args);
+ self->appendMessage(args);
});
#endif
@@ -999,10 +1000,11 @@ IceInternal::UdpTransceiver::UdpTransceiver(const UdpEndpointIPtr& endpoint, con
_mcastAddr.saStorage.ss_family = AF_UNSPEC;
#else
DatagramSocket^ socket = safe_cast<DatagramSocket^>(_fd);
+ IceUtil::Handle<UdpTransceiver> self(this);
socket->MessageReceived += ref new TypedEventHandler<DatagramSocket^, DatagramSocketMessageReceivedEventArgs^>(
[=](DatagramSocket^ fd, DatagramSocketMessageReceivedEventArgs^ args)
{
- this->appendMessage(args);
+ self->appendMessage(args);
});
#endif
}