From 918342df5f1bd2e04d6e036d747f6d181f5e947d Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Fri, 4 Dec 2015 11:18:46 -0800 Subject: [PATCH] make sure the NodeList is reset on its own thread --- libraries/networking/src/DomainHandler.cpp | 2 +- libraries/networking/src/NodeList.cpp | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/libraries/networking/src/DomainHandler.cpp b/libraries/networking/src/DomainHandler.cpp index 681f971ef5..96a6c9c4a5 100644 --- a/libraries/networking/src/DomainHandler.cpp +++ b/libraries/networking/src/DomainHandler.cpp @@ -94,7 +94,7 @@ void DomainHandler::softReset() { clearSettings(); // cancel the failure timeout for any pending requests for settings - QMetaObject::invokeMethod(&_settingsTimer, "stop", Qt::AutoConnection); + QMetaObject::invokeMethod(&_settingsTimer, "stop"); } void DomainHandler::hardReset() { diff --git a/libraries/networking/src/NodeList.cpp b/libraries/networking/src/NodeList.cpp index 925c64c77a..38c9d819e2 100644 --- a/libraries/networking/src/NodeList.cpp +++ b/libraries/networking/src/NodeList.cpp @@ -199,6 +199,11 @@ void NodeList::processICEPingPacket(QSharedPointer packet) { } void NodeList::reset() { + if (thread() != QThread::currentThread()) { + QMetaObject::invokeMethod(this, "reset"); + return; + } + LimitedNodeList::reset(); _numNoReplyDomainCheckIns = 0;