diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index c9ee4efbdc..874fcea41f 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -1060,6 +1060,14 @@ void Application::showCursor(const QCursor& cursor) { void Application::aboutToQuit() { emit beforeAboutToQuit(); + foreach(auto inputPlugin, PluginManager::getInstance()->getInputPlugins()) { + QString name = inputPlugin->getName(); + QAction* action = Menu::getInstance()->getActionForOption(name); + if (action->isChecked()) { + inputPlugin->deactivate(); + } + } + getActiveDisplayPlugin()->deactivate(); _aboutToQuit = true; @@ -1149,14 +1157,6 @@ Application::~Application() { ModelEntityItem::cleanupLoadedAnimations(); - foreach(auto inputPlugin, PluginManager::getInstance()->getInputPlugins()) { - QString name = inputPlugin->getName(); - QAction* action = Menu::getInstance()->getActionForOption(name); - if (action->isChecked()) { - inputPlugin->deactivate(); - } - } - // remove avatars from physics engine DependencyManager::get()->clearOtherAvatars(); VectorOfMotionStates motionStates;