mirror of
https://github.com/overte-org/overte.git
synced 2025-04-21 06:44:06 +02:00
clear all octree related state when disconnecting from a domain
This commit is contained in:
parent
372d8946d0
commit
bceab4ead9
2 changed files with 15 additions and 3 deletions
|
@ -255,6 +255,7 @@ Application::Application(int& argc, char** argv, QElapsedTimer &startup_time) :
|
|||
connect(&domainHandler, SIGNAL(connectedToDomain(const QString&)), SLOT(connectedToDomain(const QString&)));
|
||||
connect(&domainHandler, SIGNAL(connectedToDomain(const QString&)), SLOT(updateWindowTitle()));
|
||||
connect(&domainHandler, SIGNAL(disconnectedFromDomain()), SLOT(updateWindowTitle()));
|
||||
connect(&domainHandler, SIGNAL(disconnectedFromDomain()), SLOT(clearDomainOctreeDetails()));
|
||||
connect(&domainHandler, &DomainHandler::settingsReceived, this, &Application::domainSettingsReceived);
|
||||
connect(&domainHandler, &DomainHandler::hostnameChanged, Menu::getInstance(), &Menu::clearLoginDialogDisplayedFlag);
|
||||
|
||||
|
@ -3565,9 +3566,8 @@ void Application::changeDomainHostname(const QString &newDomainHostname) {
|
|||
}
|
||||
}
|
||||
|
||||
void Application::domainChanged(const QString& domainHostname) {
|
||||
updateWindowTitle();
|
||||
|
||||
void Application::clearDomainOctreeDetails() {
|
||||
qDebug() << "Clearing domain octree details...";
|
||||
// reset the environment so that we don't erroneously end up with multiple
|
||||
_environment.resetToDefault();
|
||||
|
||||
|
@ -3576,7 +3576,13 @@ void Application::domainChanged(const QString& domainHostname) {
|
|||
_voxelServerJurisdictions.clear();
|
||||
_voxelServerJurisdictions.unlock();
|
||||
|
||||
_entityServerJurisdictions.lockForWrite();
|
||||
_entityServerJurisdictions.clear();
|
||||
_entityServerJurisdictions.unlock();
|
||||
|
||||
_octreeSceneStatsLock.lockForWrite();
|
||||
_octreeServerSceneStats.clear();
|
||||
_octreeSceneStatsLock.unlock();
|
||||
|
||||
// reset the model renderer
|
||||
_entities.clear();
|
||||
|
@ -3585,6 +3591,11 @@ void Application::domainChanged(const QString& domainHostname) {
|
|||
_voxels.killLocalVoxels();
|
||||
}
|
||||
|
||||
void Application::domainChanged(const QString& domainHostname) {
|
||||
updateWindowTitle();
|
||||
clearDomainOctreeDetails();
|
||||
}
|
||||
|
||||
void Application::connectedToDomain(const QString& hostname) {
|
||||
AccountManager& accountManager = AccountManager::getInstance();
|
||||
const QUuid& domainID = NodeList::getInstance()->getDomainHandler().getUUID();
|
||||
|
|
|
@ -377,6 +377,7 @@ public slots:
|
|||
void resetSensors();
|
||||
|
||||
private slots:
|
||||
void clearDomainOctreeDetails();
|
||||
void timer();
|
||||
void idle();
|
||||
|
||||
|
|
Loading…
Reference in a new issue