diff options
Diffstat (limited to 'tracker-udp/ftnoir_tracker_udp.cpp')
-rw-r--r-- | tracker-udp/ftnoir_tracker_udp.cpp | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/tracker-udp/ftnoir_tracker_udp.cpp b/tracker-udp/ftnoir_tracker_udp.cpp index 318683f7..f1f9f033 100644 --- a/tracker-udp/ftnoir_tracker_udp.cpp +++ b/tracker-udp/ftnoir_tracker_udp.cpp @@ -44,16 +44,20 @@ void udp::run() } while (sock.hasPendingDatagrams()); - if (ok && - progn( - for (unsigned i = 0; i < 6; i++) + if (ok) + { + for (unsigned i = 0; i < 6; i++) + { + int val = std::fpclassify(last_recv_pose2[i]); + if (val == FP_NAN || val == FP_INFINITE) { - int val = std::fpclassify(last_recv_pose2[i]); - if (val == FP_NAN || val == FP_INFINITE) - return false; + ok = false; + break; } - return true; - )) + } + } + + if (ok) { for (unsigned i = 0; i < 6; i++) last_recv_pose[i] = last_recv_pose2[i]; @@ -66,7 +70,7 @@ void udp::run() module_status udp::start_tracker(QFrame*) { - if (!sock.bind(QHostAddress::Any, quint16(s.port), QUdpSocket::DontShareAddress)) + if (!sock.bind(QHostAddress::Any, quint16(s.port), QUdpSocket::ShareAddress | QUdpSocket::ReuseAddressHint)) return error(tr("Can't bind socket -- %1").arg(sock.errorString())); sock.moveToThread(this); @@ -103,4 +107,4 @@ void udp::data(double *data) } -OPENTRACK_DECLARE_TRACKER(udp, dialog_udp, udpDll) +OPENTRACK_DECLARE_TRACKER(udp, dialog_udp, udp_receiver_dll) |