Attempt to stop the crashing on exit caused by the Oculus SDK

This commit is contained in:
Brad Davis 2015-04-09 09:17:23 -07:00
parent 5e681ee56b
commit f496175fb9
3 changed files with 13 additions and 2 deletions

View file

@ -114,8 +114,11 @@ void OculusManager::initSdk() {
}
void OculusManager::shutdownSdk() {
ovrHmd_Destroy(_ovrHmd);
ovr_Shutdown();
if (_ovrHmd) {
ovrHmd_Destroy(_ovrHmd);
_ovrHmd = nullptr;
ovr_Shutdown();
}
}
void OculusManager::init() {
@ -124,6 +127,12 @@ void OculusManager::init() {
#endif
}
void OculusManager::deinit() {
#ifdef OVR_DIRECT_MODE
shutdownSdk();
#endif
}
void OculusManager::connect() {
#ifndef OVR_DIRECT_MODE
initSdk();

View file

@ -51,6 +51,7 @@ class Text3DOverlay;
class OculusManager {
public:
static void init();
static void deinit();
static void connect();
static void disconnect();
static bool isConnected();

View file

@ -112,6 +112,7 @@ int main(int argc, const char* argv[]) {
exitCode = app.exec();
}
OculusManager::deinit();
#ifdef Q_OS_WIN
ReleaseMutex(mutex);
#endif