mirror of
https://github.com/overte-org/overte.git
synced 2025-04-22 17:53:32 +02:00
'disconnect' from serverless domain when transitioning from a serverless-domain to a DNS name (rather than a place name)
This commit is contained in:
parent
f61504b814
commit
bd10cd6fa9
2 changed files with 16 additions and 6 deletions
|
@ -3118,6 +3118,9 @@ bool Application::isServerlessMode() const {
|
|||
|
||||
void Application::setIsServerlessDomain(bool serverlessDomain) {
|
||||
auto tree = getEntities()->getTree();
|
||||
if (tree->isServerlessMode() && !serverlessDomain) {
|
||||
disconnectFromDomain();
|
||||
}
|
||||
if (tree) {
|
||||
tree->setIsServerlessMode(serverlessDomain);
|
||||
}
|
||||
|
@ -3129,12 +3132,7 @@ void Application::loadServerlessDomain(QUrl domainURL) {
|
|||
return;
|
||||
}
|
||||
|
||||
auto nodeList = DependencyManager::get<NodeList>();
|
||||
clearDomainOctreeDetails();
|
||||
getMyAvatar()->setSessionUUID(QUuid()); // clear the sessionID
|
||||
NodePermissions permissions; // deny all permissions
|
||||
permissions.setAll(false);
|
||||
nodeList->setPermissions(permissions);
|
||||
disconnectFromDomain();
|
||||
|
||||
if (domainURL.isEmpty()) {
|
||||
return;
|
||||
|
@ -3142,9 +3140,11 @@ void Application::loadServerlessDomain(QUrl domainURL) {
|
|||
|
||||
QUuid serverlessSessionID = QUuid::createUuid();
|
||||
getMyAvatar()->setSessionUUID(serverlessSessionID);
|
||||
auto nodeList = DependencyManager::get<NodeList>();
|
||||
nodeList->setSessionUUID(serverlessSessionID);
|
||||
|
||||
// there is no domain-server to tell us our permissions, so enable all
|
||||
NodePermissions permissions;
|
||||
permissions.setAll(true);
|
||||
nodeList->setPermissions(permissions);
|
||||
|
||||
|
@ -3164,6 +3164,15 @@ void Application::loadServerlessDomain(QUrl domainURL) {
|
|||
_fullSceneReceivedCounter++;
|
||||
}
|
||||
|
||||
void Application::disconnectFromDomain() {
|
||||
auto nodeList = DependencyManager::get<NodeList>();
|
||||
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);
|
||||
|
|
|
@ -392,6 +392,7 @@ public slots:
|
|||
|
||||
void setIsServerlessDomain(bool serverlessDomain);
|
||||
void loadServerlessDomain(QUrl domainURL);
|
||||
void disconnectFromDomain();
|
||||
|
||||
Q_INVOKABLE bool askBeforeSetAvatarUrl(const QString& avatarUrl) { return askToSetAvatarUrl(avatarUrl); }
|
||||
|
||||
|
|
Loading…
Reference in a new issue