From 361f9face5c1918280a2bb3c211c09afaa6264a4 Mon Sep 17 00:00:00 2001 From: Emil Axelsson Date: Thu, 16 Mar 2017 14:35:22 +0100 Subject: [PATCH] - Disable barrier when loading a scene. - Remove syncables before deinitializing openspaceengine --- src/engine/openspaceengine.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/engine/openspaceengine.cpp b/src/engine/openspaceengine.cpp index 95b546db03..4be6a78bbb 100644 --- a/src/engine/openspaceengine.cpp +++ b/src/engine/openspaceengine.cpp @@ -376,6 +376,10 @@ void OpenSpaceEngine::destroy() { func(); } + _engine->_syncEngine->removeSyncables(Time::ref().getSyncables()); + _engine->_syncEngine->removeSyncables(_engine->_renderEngine->getSyncables()); + _engine->_syncEngine->removeSyncable(_engine->_scriptEngine.get()); + _engine->_moduleEngine->deinitialize(); _engine->_console->deinitialize(); @@ -511,9 +515,14 @@ void OpenSpaceEngine::scheduleLoadScene(const std::string& scenePath) { } void OpenSpaceEngine::loadScene(const std::string& scenePath) { + + windowWrapper().setBarrier(false); windowWrapper().setSynchronization(false); OnExit( - [this]() { windowWrapper().setSynchronization(true); } + [this]() { + windowWrapper().setSynchronization(true); + windowWrapper().setBarrier(true); + } ); // Run start up scripts