diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 3ab4ab0dc7..35b705cb8c 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -1183,8 +1183,6 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo connect(addressManager.data(), &AddressManager::hostChanged, this, &Application::updateWindowTitle); connect(this, &QCoreApplication::aboutToQuit, addressManager.data(), &AddressManager::storeCurrentAddress); - connect(addressManager.data(), &AddressManager::urlHandled, this, &Application::setIsServerlessDomain); - connect(this, &Application::activeDisplayPluginChanged, this, &Application::updateThreadPoolCount); connect(this, &Application::activeDisplayPluginChanged, this, [](){ qApp->setProperty(hifi::properties::HMD, qApp->isHMDMode()); @@ -3119,11 +3117,8 @@ bool Application::isServerlessMode() const { return false; } -void Application::setIsServerlessDomain(bool serverlessDomain) { +void Application::setIsServerlessMode(bool serverlessDomain) { auto tree = getEntities()->getTree(); - if (tree->isServerlessMode() && !serverlessDomain) { - disconnectFromDomain(); - } if (tree) { tree->setIsServerlessMode(serverlessDomain); } @@ -3135,8 +3130,6 @@ void Application::loadServerlessDomain(QUrl domainURL) { return; } - disconnectFromDomain(); - if (domainURL.isEmpty()) { return; } @@ -3167,15 +3160,6 @@ void Application::loadServerlessDomain(QUrl domainURL) { _fullSceneReceivedCounter++; } -void Application::disconnectFromDomain() { - auto nodeList = DependencyManager::get(); - clearDomainOctreeDetails(); - getMyAvatar()->setSessionUUID(QUuid()); // clear the sessionID - NodePermissions permissions; // deny all permissions - permissions.setAll(false); - nodeList->setPermissions(permissions); -} - bool Application::importImage(const QString& urlString) { qCDebug(interfaceapp) << "An image file has been dropped in"; QString filepath(urlString); @@ -5898,17 +5882,25 @@ void Application::clearDomainAvatars() { } void Application::domainURLChanged(QUrl domainURL) { - updateWindowTitle(); // disable physics until we have enough information about our new location to not cause craziness. resetPhysicsReadyInformation(); - if (domainURL.scheme() != URL_SCHEME_HIFI) { + setIsServerlessMode(domainURL.scheme() != URL_SCHEME_HIFI); + if (isServerlessMode()) { loadServerlessDomain(domainURL); } + updateWindowTitle(); } void Application::resettingDomain() { _notifiedPacketVersionMismatchThisDomain = false; + + auto nodeList = DependencyManager::get(); + clearDomainOctreeDetails(); + getMyAvatar()->setSessionUUID(QUuid()); // clear the sessionID + NodePermissions permissions; // deny all permissions + permissions.setAll(false); + nodeList->setPermissions(permissions); } void Application::nodeAdded(SharedNodePointer node) const { diff --git a/interface/src/Application.h b/interface/src/Application.h index 00fd07b84e..812e51e49c 100644 --- a/interface/src/Application.h +++ b/interface/src/Application.h @@ -392,9 +392,8 @@ public slots: const QString getPreferredCursor() const { return _preferredCursor.get(); } void setPreferredCursor(const QString& cursor); - void setIsServerlessDomain(bool serverlessDomain); + void setIsServerlessMode(bool serverlessDomain); void loadServerlessDomain(QUrl domainURL); - void disconnectFromDomain(); Q_INVOKABLE bool askBeforeSetAvatarUrl(const QString& avatarUrl) { return askToSetAvatarUrl(avatarUrl); } diff --git a/libraries/networking/src/AddressManager.cpp b/libraries/networking/src/AddressManager.cpp index c23bd8fa3f..7d33cb939c 100644 --- a/libraries/networking/src/AddressManager.cpp +++ b/libraries/networking/src/AddressManager.cpp @@ -210,7 +210,6 @@ bool AddressManager::handleUrl(const QUrl& lookupUrl, LookupTrigger trigger) { qCDebug(networking) << "Trying to go to URL" << lookupUrl.toString(); - emit urlHandled(false); DependencyManager::get()->flagTimeForConnectionStep(LimitedNodeList::ConnectionStep::LookupAddress); // there are 4 possible lookup strings @@ -295,7 +294,6 @@ bool AddressManager::handleUrl(const QUrl& lookupUrl, LookupTrigger trigger) { lookupUrl.scheme() == URL_SCHEME_FILE) { _previousLookup.clear(); QUrl domainURL = PathUtils::expandToLocalDataAbsolutePath(lookupUrl); - emit urlHandled(true); setDomainInfo(domainURL, trigger); DependencyManager::get()->getDomainHandler().setIsConnected(true); emit lookupResultsFinished(); diff --git a/libraries/networking/src/AddressManager.h b/libraries/networking/src/AddressManager.h index 1da4e85f45..dc1046bf51 100644 --- a/libraries/networking/src/AddressManager.h +++ b/libraries/networking/src/AddressManager.h @@ -406,8 +406,6 @@ signals: */ void goForwardPossible(bool isPossible); - void urlHandled(bool isNonHifiScheme); - private slots: void handleAPIResponse(QNetworkReply& requestReply); void handleAPIError(QNetworkReply& errorReply); diff --git a/libraries/networking/src/DomainHandler.cpp b/libraries/networking/src/DomainHandler.cpp index 789b99008d..910bec631b 100644 --- a/libraries/networking/src/DomainHandler.cpp +++ b/libraries/networking/src/DomainHandler.cpp @@ -192,12 +192,6 @@ void DomainHandler::setURLAndID(QUrl domainURL, QUuid domainID) { void DomainHandler::setIceServerHostnameAndID(const QString& iceServerHostname, const QUuid& id) { - if (isServerless()) { - // if we were connected to a serverless domain, clear the octree, etc - _domainURL = QUrl(); - emit domainURLChanged(_domainURL); - } - if (_iceServerSockAddr.getAddress().toString() != iceServerHostname || id != _pendingDomainID) { // re-set the domain info to connect to new domain hardReset(); @@ -232,6 +226,7 @@ void DomainHandler::activateICELocalSocket() { _sockAddr = _icePeer.getLocalSocket(); _domainURL.setScheme(URL_SCHEME_HIFI); _domainURL.setHost(_sockAddr.getAddress().toString()); + emit domainURLChanged(_domainURL); emit completedSocketDiscovery(); } @@ -240,6 +235,7 @@ void DomainHandler::activateICEPublicSocket() { _sockAddr = _icePeer.getPublicSocket(); _domainURL.setScheme(URL_SCHEME_HIFI); _domainURL.setHost(_sockAddr.getAddress().toString()); + emit domainURLChanged(_domainURL); emit completedSocketDiscovery(); }