diff options
author | Benoit Foucher <benoit@zeroc.com> | 2015-08-11 10:42:04 +0200 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2015-08-11 10:42:04 +0200 |
commit | 12f8959ad8d0843a55dd309f087dd1f8a5dda88f (patch) | |
tree | 5186165ce0e0b4bb432a9e70314e597563bb8c56 /cpp/src/Ice/UdpTransceiver.cpp | |
parent | Updates branch description (diff) | |
download | ice-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.cpp | 6 |
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 } |