summaryrefslogtreecommitdiffhomepage
path: root/tracker-udp/ftnoir_tracker_udp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tracker-udp/ftnoir_tracker_udp.cpp')
-rw-r--r--tracker-udp/ftnoir_tracker_udp.cpp24
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)