diff --git a/interface/src/ui/DialogsManager.cpp b/interface/src/ui/DialogsManager.cpp index 95a96e3388..83601a2797 100644 --- a/interface/src/ui/DialogsManager.cpp +++ b/interface/src/ui/DialogsManager.cpp @@ -93,6 +93,7 @@ void DialogsManager::setDomainConnectionFailureVisibility(bool visible) { static const QUrl url("dialogs/TabletConnectionFailureDialog.qml"); auto hmd = DependencyManager::get(); if (visible) { + _dialogCreatedWhileShown = tablet->property("tabletShown").toBool(); tablet->initialScreen(url); if (!hmd->getShouldShowTablet()) { hmd->openTablet(); @@ -100,7 +101,10 @@ void DialogsManager::setDomainConnectionFailureVisibility(bool visible) { } else if (tablet->isPathLoaded(url)) { tablet->closeDialog(); tablet->gotoHomeScreen(); - hmd->closeTablet(); + if (!_dialogCreatedWhileShown) { + hmd->closeTablet(); + } + _dialogCreatedWhileShown = false; } } } diff --git a/interface/src/ui/DialogsManager.h b/interface/src/ui/DialogsManager.h index f17ac39a7e..0633dec573 100644 --- a/interface/src/ui/DialogsManager.h +++ b/interface/src/ui/DialogsManager.h @@ -80,6 +80,7 @@ private: QPointer _octreeStatsDialog; QPointer _testingDialog; QPointer _domainConnectionDialog; + bool _dialogCreatedWhileShown { false }; bool _addressBarVisible { false }; };