Trying to fix QtQml/QtScript crashes
Showing the changes to interface/src/Application.cpp (1 of 47 files). Show all
Unified · Split
| @@ -99,8 +99,8 @@ · 98 unmodified lines | |||
| 99 | #include <OctalCode.h> | 99 | #include <OctalCode.h> |
| 100 | #include <OctreeSceneStats.h> | 100 | #include <OctreeSceneStats.h> |
| 101 | #include <OffscreenUi.h> | 101 | #include <OffscreenUi.h> |
| 102 | #include <gl/OffscreenQmlSurfaceCache.h> | ||
| 103 | #include <gl/OffscreenGLCanvas.h> | 102 | #include <gl/OffscreenGLCanvas.h> |
| 103 | #include <ui/OffscreenQmlSurfaceCache.h> | ||
| 104 | #include <PathUtils.h> | 104 | #include <PathUtils.h> |
| 105 | #include <PerfStat.h> | 105 | #include <PerfStat.h> |
| 106 | #include <PhysicsEngine.h> | 106 | #include <PhysicsEngine.h> |
| @@ -125,7 +125,8 @@ · 18 unmodified lines | |||
| 125 | #include <ScriptEngines.h> | 125 | #include <ScriptEngines.h> |
| 126 | #include <ScriptCache.h> | 126 | #include <ScriptCache.h> |
| 127 | #include <SoundCache.h> | 127 | #include <SoundCache.h> |
| 128 | #include <TabletScriptingInterface.h> | 128 | #include <ui/TabletScriptingInterface.h> |
| 129 | #include <ui/ToolbarScriptingInterface.h> | ||
| 129 | #include <Tooltip.h> | 130 | #include <Tooltip.h> |
| 130 | #include <udt/PacketHeaders.h> | 131 | #include <udt/PacketHeaders.h> |
| 131 | #include <UserActivityLogger.h> | 132 | #include <UserActivityLogger.h> |
| @@ -166,7 +167,6 @@ · 34 unmodified lines | |||
| 166 | #include "scripting/SettingsScriptingInterface.h" | 167 | #include "scripting/SettingsScriptingInterface.h" |
| 167 | #include "scripting/WindowScriptingInterface.h" | 168 | #include "scripting/WindowScriptingInterface.h" |
| 168 | #include "scripting/ControllerScriptingInterface.h" | 169 | #include "scripting/ControllerScriptingInterface.h" |
| 169 | #include "scripting/ToolbarScriptingInterface.h" | ||
| 170 | #include "scripting/RatesScriptingInterface.h" | 170 | #include "scripting/RatesScriptingInterface.h" |
| 171 | #if defined(Q_OS_MAC) || defined(Q_OS_WIN) | 171 | #if defined(Q_OS_MAC) || defined(Q_OS_WIN) |
| 172 | #include "SpeechRecognizer.h" | 172 | #include "SpeechRecognizer.h" |
| @@ -1805,6 +1805,8 @@ void Application::cleanupBeforeQuit() { · 1632 unmodified lines | |||
| 1805 | #endif | 1805 | #endif |
| 1806 | 1806 | ||
| 1807 | // stop QML | 1807 | // stop QML |
| 1808 | DependencyManager::destroy<TabletScriptingInterface>(); | ||
| 1809 | DependencyManager::destroy<ToolbarScriptingInterface>(); | ||
| 1808 | DependencyManager::destroy<OffscreenUi>(); | 1810 | DependencyManager::destroy<OffscreenUi>(); |
| 1809 | 1811 | ||
| 1810 | DependencyManager::destroy<OffscreenQmlSurfaceCache>(); | 1812 | DependencyManager::destroy<OffscreenQmlSurfaceCache>(); |
| @@ -5548,8 +5550,16 @@ void Application::registerScriptEngineWithApplicationServices(ScriptEngine* scri · 3737 unmodified lines | |||
| 5548 | 5550 | ||
| 5549 | scriptEngine->registerGlobalObject("OffscreenFlags", DependencyManager::get<OffscreenUi>()->getFlags()); | 5551 | scriptEngine->registerGlobalObject("OffscreenFlags", DependencyManager::get<OffscreenUi>()->getFlags()); |
| 5550 | scriptEngine->registerGlobalObject("Desktop", DependencyManager::get<DesktopScriptingInterface>().data()); | 5552 | scriptEngine->registerGlobalObject("Desktop", DependencyManager::get<DesktopScriptingInterface>().data()); |
| 5553 | |||
| 5554 | qScriptRegisterMetaType(scriptEngine, wrapperToScriptValue<ToolbarProxy>, wrapperFromScriptValue<ToolbarProxy>); | ||
| 5555 | qScriptRegisterMetaType(scriptEngine, wrapperToScriptValue<ToolbarButtonProxy>, wrapperFromScriptValue<ToolbarButtonProxy>); | ||
| 5551 | scriptEngine->registerGlobalObject("Toolbars", DependencyManager::get<ToolbarScriptingInterface>().data()); | 5556 | scriptEngine->registerGlobalObject("Toolbars", DependencyManager::get<ToolbarScriptingInterface>().data()); |
| 5552 | 5557 | ||
| 5558 | qScriptRegisterMetaType(scriptEngine, wrapperToScriptValue<TabletProxy>, wrapperFromScriptValue<TabletProxy>); | ||
| 5559 | qScriptRegisterMetaType(scriptEngine, wrapperToScriptValue<TabletButtonProxy>, wrapperFromScriptValue<TabletButtonProxy>); | ||
| 5560 | scriptEngine->registerGlobalObject("Tablet", DependencyManager::get<TabletScriptingInterface>().data()); | ||
| 5561 | |||
| 5562 | |||
| 5553 | DependencyManager::get<TabletScriptingInterface>().data()->setToolbarScriptingInterface(DependencyManager::get<ToolbarScriptingInterface>().data()); | 5563 | DependencyManager::get<TabletScriptingInterface>().data()->setToolbarScriptingInterface(DependencyManager::get<ToolbarScriptingInterface>().data()); |
| 5554 | 5564 | ||
| 5555 | scriptEngine->registerGlobalObject("Window", DependencyManager::get<WindowScriptingInterface>().data()); | 5565 | scriptEngine->registerGlobalObject("Window", DependencyManager::get<WindowScriptingInterface>().data()); |
| @@ -5623,7 +5633,6 @@ void Application::registerScriptEngineWithApplicationServices(ScriptEngine* scri · 67 unmodified lines | |||
| 5623 | scriptEngine->registerGlobalObject("EntityScriptServerLog", entityScriptServerLog.data()); | 5633 | scriptEngine->registerGlobalObject("EntityScriptServerLog", entityScriptServerLog.data()); |
| 5624 | scriptEngine->registerGlobalObject("AvatarInputs", AvatarInputs::getInstance()); | 5634 | scriptEngine->registerGlobalObject("AvatarInputs", AvatarInputs::getInstance()); |
| 5625 | 5635 | ||
| 5626 | |||
| 5627 | qScriptRegisterMetaType(scriptEngine, OverlayIDtoScriptValue, OverlayIDfromScriptValue); | 5636 | qScriptRegisterMetaType(scriptEngine, OverlayIDtoScriptValue, OverlayIDfromScriptValue); |
| 5628 | 5637 | ||
| 5629 | // connect this script engines printedMessage signal to the global ScriptEngines these various messages | 5638 | // connect this script engines printedMessage signal to the global ScriptEngines these various messages |
| @@ -5632,6 +5641,7 @@ void Application::registerScriptEngineWithApplicationServices(ScriptEngine* scri · 2 unmodified lines | |||
| 5632 | connect(scriptEngine, &ScriptEngine::warningMessage, DependencyManager::get<ScriptEngines>().data(), &ScriptEngines::onWarningMessage); | 5641 | connect(scriptEngine, &ScriptEngine::warningMessage, DependencyManager::get<ScriptEngines>().data(), &ScriptEngines::onWarningMessage); |
| 5633 | connect(scriptEngine, &ScriptEngine::infoMessage, DependencyManager::get<ScriptEngines>().data(), &ScriptEngines::onInfoMessage); | 5642 | connect(scriptEngine, &ScriptEngine::infoMessage, DependencyManager::get<ScriptEngines>().data(), &ScriptEngines::onInfoMessage); |
| 5634 | connect(scriptEngine, &ScriptEngine::clearDebugWindow, DependencyManager::get<ScriptEngines>().data(), &ScriptEngines::onClearDebugWindow); | 5643 | connect(scriptEngine, &ScriptEngine::clearDebugWindow, DependencyManager::get<ScriptEngines>().data(), &ScriptEngines::onClearDebugWindow); |
| 5644 | |||
| 5635 | } | 5645 | } |
| 5636 | 5646 | ||
| 5637 | bool Application::canAcceptURL(const QString& urlString) const { | 5647 | bool Application::canAcceptURL(const QString& urlString) const { |