From f3e701e0d5ce5be562ca62a113ed01108fa95f45 Mon Sep 17 00:00:00 2001 From: Bradley Austin Davis Date: Thu, 30 Jul 2015 17:40:02 -0700 Subject: [PATCH] Don't allow leaving VR mode to target the rift --- interface/src/ui/HMDToolsDialog.cpp | 7 +++++++ .../display-plugins/oculus/Oculus_0_5_DisplayPlugin.cpp | 7 +++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/interface/src/ui/HMDToolsDialog.cpp b/interface/src/ui/HMDToolsDialog.cpp index 3e349df30d..e9411bae0b 100644 --- a/interface/src/ui/HMDToolsDialog.cpp +++ b/interface/src/ui/HMDToolsDialog.cpp @@ -197,6 +197,13 @@ void HMDToolsDialog::centerCursorOnWidget(QWidget* widget) { void HMDToolsDialog::showEvent(QShowEvent* event) { // center the cursor on the hmd tools dialog centerCursorOnWidget(this); + if (qApp->isHMDMode()) { + _inHDMMode = true; + _switchModeButton->setText("Leave HMD Mode"); + } else { + _inHDMMode = false; + _switchModeButton->setText("Enter HMD Mode"); + } } void HMDToolsDialog::hideEvent(QHideEvent* event) { diff --git a/libraries/display-plugins/src/display-plugins/oculus/Oculus_0_5_DisplayPlugin.cpp b/libraries/display-plugins/src/display-plugins/oculus/Oculus_0_5_DisplayPlugin.cpp index a782399c4a..d8d95d6ded 100644 --- a/libraries/display-plugins/src/display-plugins/oculus/Oculus_0_5_DisplayPlugin.cpp +++ b/libraries/display-plugins/src/display-plugins/oculus/Oculus_0_5_DisplayPlugin.cpp @@ -116,7 +116,11 @@ void Oculus_0_5_DisplayPlugin::deactivate(PluginContainer* container) { OculusBaseDisplayPlugin::deactivate(container); - container->unsetFullscreen(); + QScreen* riftScreen = nullptr; + if (_hmdScreen >= 0) { + riftScreen = qApp->screens()[_hmdScreen]; + } + container->unsetFullscreen(riftScreen); ovrHmd_Destroy(_hmd); _hmd = nullptr; @@ -140,7 +144,6 @@ void Oculus_0_5_DisplayPlugin::display(GLuint finalTexture, const glm::uvec2& sc ovrHmd_EndFrame(_hmd, _eyePoses, _eyeTextures); } -bool _hswDismissed{false}; // Pass input events on to the application bool Oculus_0_5_DisplayPlugin::eventFilter(QObject* receiver, QEvent* event) { if (!_hswDismissed && (event->type() == QEvent::KeyPress)) {