diff --git a/libraries/display-plugins/src/display-plugins/OpenGLDisplayPlugin.cpp b/libraries/display-plugins/src/display-plugins/OpenGLDisplayPlugin.cpp index 1c175b778c..9d5c00ec2b 100644 --- a/libraries/display-plugins/src/display-plugins/OpenGLDisplayPlugin.cpp +++ b/libraries/display-plugins/src/display-plugins/OpenGLDisplayPlugin.cpp @@ -106,11 +106,19 @@ public: if (_newPlugin != nullptr) { // Deactivate the old plugin if (currentPlugin != nullptr) { - currentPlugin->uncustomizeContext(); + try { + currentPlugin->uncustomizeContext(); + } catch (const oglplus::Error& error) { + qWarning() << "OpenGL error in uncustomizeContext: " << error.what(); + } currentPlugin->enableDeactivate(); } - _newPlugin->customizeContext(); + try { + _newPlugin->customizeContext(); + } catch (const oglplus::Error& error) { + qWarning() << "OpenGL error in customizeContext: " << error.what(); + } currentPlugin = _newPlugin; _newPlugin = nullptr; } @@ -127,7 +135,11 @@ public: // take the latest texture and present it _context->makeCurrent(); if (isCurrentContext(_context->contextHandle())) { - currentPlugin->present(); + try { + currentPlugin->present(); + } catch (const oglplus::Error& error) { + qWarning() << "OpenGL error in presentation: " << error.what(); + } _context->doneCurrent(); } else { qWarning() << "Makecurrent failed"; diff --git a/plugins/oculus/src/OculusBaseDisplayPlugin.cpp b/plugins/oculus/src/OculusBaseDisplayPlugin.cpp index 6e3d38f1aa..513ea0e0df 100644 --- a/plugins/oculus/src/OculusBaseDisplayPlugin.cpp +++ b/plugins/oculus/src/OculusBaseDisplayPlugin.cpp @@ -74,7 +74,7 @@ void OculusBaseDisplayPlugin::activate() { if (!OVR_SUCCESS(ovr_ConfigureTracking(_session, ovrTrackingCap_Orientation | ovrTrackingCap_Position | ovrTrackingCap_MagYawCorrection, 0))) { - qFatal("Could not attach to sensor device"); + qWarning() << "Could not attach to sensor device"; } // Parent class relies on our _session intialization, so it must come after that. @@ -87,11 +87,6 @@ void OculusBaseDisplayPlugin::activate() { _sceneLayer.Viewport[eye].Pos = { eye == ovrEye_Left ? 0 : size.w, 0 }; }); - if (!OVR_SUCCESS(ovr_ConfigureTracking(_session, - ovrTrackingCap_Orientation | ovrTrackingCap_Position | ovrTrackingCap_MagYawCorrection, 0))) { - qFatal("Could not attach to sensor device"); - } - // This must come after the initialization, so that the values calculated // above are available during the customizeContext call (when not running // in threaded present mode)