From 4b51d81b422438d6c417fe3e831476c92779a3a8 Mon Sep 17 00:00:00 2001 From: Simon Walton <simon@highfidelity.io> Date: Fri, 10 May 2019 12:06:38 -0700 Subject: [PATCH] Clear any reliable connection state upon Node ID change --- interface/src/avatar/MyAvatar.cpp | 1 + libraries/networking/src/NodeList.cpp | 2 ++ 2 files changed, 3 insertions(+) diff --git a/interface/src/avatar/MyAvatar.cpp b/interface/src/avatar/MyAvatar.cpp index e3fbbe12ad..39f2d9f332 100644 --- a/interface/src/avatar/MyAvatar.cpp +++ b/interface/src/avatar/MyAvatar.cpp @@ -3755,6 +3755,7 @@ void MyAvatar::restrictScaleFromDomainSettings(const QJsonObject& domainSettings void MyAvatar::leaveDomain() { clearScaleRestriction(); saveAvatarScale(); + prepareResetTraitInstances(); } void MyAvatar::saveAvatarScale() { diff --git a/libraries/networking/src/NodeList.cpp b/libraries/networking/src/NodeList.cpp index 0a4c63d712..d870c65c66 100644 --- a/libraries/networking/src/NodeList.cpp +++ b/libraries/networking/src/NodeList.cpp @@ -665,6 +665,8 @@ void NodeList::processDomainServerList(QSharedPointer<ReceivedMessage> message) // tell the domain handler that we're no longer connected so that below // it can re-perform actions as if we just connected _domainHandler.setIsConnected(false); + // Clear any reliable connections using old ID. + _nodeSocket.clearConnections(); } setSessionLocalID(newLocalID);