History

'disconnect' from serverless domain when transitioning from a serverless-domain to a DNS name (rather than a place name)

Seth Alves committed 8 years ago

Commit bd10cd61 parent f61504b2 files · +16 −6Browse files

Showing the changes to interface/src/Application.cpp (1 of 2 files). Show all

Unified · Split

interface/src/Application.cpp+15−6
@@ -3118,6 +3118,9 @@ bool Application::isServerlessMode() const { · 3117 unmodified lines
31183118
31193119 void Application::setIsServerlessDomain(bool serverlessDomain) {
31203120 auto tree = getEntities()->getTree();
3121+ if (tree->isServerlessMode() && !serverlessDomain) {
3122+ disconnectFromDomain();
3123+ }
31213124 if (tree) {
31223125 tree->setIsServerlessMode(serverlessDomain);
31233126 }
@@ -3129,12 +3132,7 @@ void Application::loadServerlessDomain(QUrl domainURL) { · 5 unmodified lines
31293132 return;
31303133 }
31313134
3132− auto nodeList = DependencyManager::get<NodeList>();
3133− clearDomainOctreeDetails();
3134− getMyAvatar()->setSessionUUID(QUuid()); // clear the sessionID
3135− NodePermissions permissions; // deny all permissions
3136− permissions.setAll(false);
3137− nodeList->setPermissions(permissions);
3135+ disconnectFromDomain();
31383136
31393137 if (domainURL.isEmpty()) {
31403138 return;
@@ -3142,9 +3140,11 @@ void Application::loadServerlessDomain(QUrl domainURL) { · 1 unmodified line
31423140
31433141 QUuid serverlessSessionID = QUuid::createUuid();
31443142 getMyAvatar()->setSessionUUID(serverlessSessionID);
3143+ auto nodeList = DependencyManager::get<NodeList>();
31453144 nodeList->setSessionUUID(serverlessSessionID);
31463145
31473146 // there is no domain-server to tell us our permissions, so enable all
3147+ NodePermissions permissions;
31483148 permissions.setAll(true);
31493149 nodeList->setPermissions(permissions);
31503150
@@ -3164,6 +3164,15 @@ void Application::loadServerlessDomain(QUrl domainURL) { · 13 unmodified lines
31643164 _fullSceneReceivedCounter++;
31653165 }
31663166
3167+void Application::disconnectFromDomain() {
3168+ auto nodeList = DependencyManager::get<NodeList>();
3169+ clearDomainOctreeDetails();
3170+ getMyAvatar()->setSessionUUID(QUuid()); // clear the sessionID
3171+ NodePermissions permissions; // deny all permissions
3172+ permissions.setAll(false);
3173+ nodeList->setPermissions(permissions);
3174+}
3175+
31673176 bool Application::importImage(const QString& urlString) {
31683177 qCDebug(interfaceapp) << "An image file has been dropped in";
31693178 QString filepath(urlString);