From e3df02e58995bdca750d5c18b358fdae43a1f6a7 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Tue, 19 Jan 2016 20:51:33 -0800 Subject: [PATCH] fix parenting of single shot timer --- libraries/networking/src/LimitedNodeList.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/libraries/networking/src/LimitedNodeList.cpp b/libraries/networking/src/LimitedNodeList.cpp index 238db0af8b..997b43b3d5 100644 --- a/libraries/networking/src/LimitedNodeList.cpp +++ b/libraries/networking/src/LimitedNodeList.cpp @@ -821,7 +821,13 @@ void LimitedNodeList::startSTUNPublicSocketUpdate() { // in case we just completely fail to lookup the stun socket - add a 10s single shot that will trigger the fail case const quint64 STUN_DNS_LOOKUP_TIMEOUT_MSECS = 10 * 1000; - QTimer::singleShot(STUN_DNS_LOOKUP_TIMEOUT_MSECS, this, &LimitedNodeList::possiblyTimeoutSTUNAddressLookup); + + QTimer* lookupTimeoutTimer = new QTimer { this }; + lookupTimeoutTimer->setSingleShot(true); + + connect(lookupTimeoutTimer, &QTimer::timeout, this, &LimitedNodeList::possiblyTimeoutSTUNAddressLookup); + + lookupTimeoutTimer->start(STUN_DNS_LOOKUP_TIMEOUT_MSECS); } else { _initialSTUNTimer->start(); @@ -832,7 +838,7 @@ void LimitedNodeList::startSTUNPublicSocketUpdate() { } void LimitedNodeList::possiblyTimeoutSTUNAddressLookup() { - if (_stunSockAddr.getAddress().isNull()) { + if (_stunSockAddr.isNull()) { // our stun address is still NULL, but we've been waiting for long enough - time to force a fail stopInitialSTUNUpdate(false); }