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 | 99 | #include <OctalCode.h> |
| 100 | 100 | #include <OctreeSceneStats.h> |
| 101 | 101 | #include <OffscreenUi.h> |
| 102 | −#include <gl/OffscreenQmlSurfaceCache.h> | |
| 103 | 102 | #include <gl/OffscreenGLCanvas.h> |
| 103 | +#include <ui/OffscreenQmlSurfaceCache.h> | |
| 104 | 104 | #include <PathUtils.h> |
| 105 | 105 | #include <PerfStat.h> |
| 106 | 106 | #include <PhysicsEngine.h> |
| @@ -125,7 +125,8 @@ · 18 unmodified lines | ||
| 125 | 125 | #include <ScriptEngines.h> |
| 126 | 126 | #include <ScriptCache.h> |
| 127 | 127 | #include <SoundCache.h> |
| 128 | −#include <TabletScriptingInterface.h> | |
| 128 | +#include <ui/TabletScriptingInterface.h> | |
| 129 | +#include <ui/ToolbarScriptingInterface.h> | |
| 129 | 130 | #include <Tooltip.h> |
| 130 | 131 | #include <udt/PacketHeaders.h> |
| 131 | 132 | #include <UserActivityLogger.h> |
| @@ -166,7 +167,6 @@ · 34 unmodified lines | ||
| 166 | 167 | #include "scripting/SettingsScriptingInterface.h" |
| 167 | 168 | #include "scripting/WindowScriptingInterface.h" |
| 168 | 169 | #include "scripting/ControllerScriptingInterface.h" |
| 169 | −#include "scripting/ToolbarScriptingInterface.h" | |
| 170 | 170 | #include "scripting/RatesScriptingInterface.h" |
| 171 | 171 | #if defined(Q_OS_MAC) || defined(Q_OS_WIN) |
| 172 | 172 | #include "SpeechRecognizer.h" |
| @@ -1805,6 +1805,8 @@ void Application::cleanupBeforeQuit() { · 1632 unmodified lines | ||
| 1805 | 1805 | #endif |
| 1806 | 1806 | |
| 1807 | 1807 | // stop QML |
| 1808 | + DependencyManager::destroy<TabletScriptingInterface>(); | |
| 1809 | + DependencyManager::destroy<ToolbarScriptingInterface>(); | |
| 1808 | 1810 | DependencyManager::destroy<OffscreenUi>(); |
| 1809 | 1811 | |
| 1810 | 1812 | DependencyManager::destroy<OffscreenQmlSurfaceCache>(); |
| @@ -5548,8 +5550,16 @@ void Application::registerScriptEngineWithApplicationServices(ScriptEngine* scri · 3737 unmodified lines | ||
| 5548 | 5550 | |
| 5549 | 5551 | scriptEngine->registerGlobalObject("OffscreenFlags", DependencyManager::get<OffscreenUi>()->getFlags()); |
| 5550 | 5552 | scriptEngine->registerGlobalObject("Desktop", DependencyManager::get<DesktopScriptingInterface>().data()); |
| 5553 | + | |
| 5554 | + qScriptRegisterMetaType(scriptEngine, wrapperToScriptValue<ToolbarProxy>, wrapperFromScriptValue<ToolbarProxy>); | |
| 5555 | + qScriptRegisterMetaType(scriptEngine, wrapperToScriptValue<ToolbarButtonProxy>, wrapperFromScriptValue<ToolbarButtonProxy>); | |
| 5551 | 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 | 5563 | DependencyManager::get<TabletScriptingInterface>().data()->setToolbarScriptingInterface(DependencyManager::get<ToolbarScriptingInterface>().data()); |
| 5554 | 5564 | |
| 5555 | 5565 | scriptEngine->registerGlobalObject("Window", DependencyManager::get<WindowScriptingInterface>().data()); |
| @@ -5623,7 +5633,6 @@ void Application::registerScriptEngineWithApplicationServices(ScriptEngine* scri · 67 unmodified lines | ||
| 5623 | 5633 | scriptEngine->registerGlobalObject("EntityScriptServerLog", entityScriptServerLog.data()); |
| 5624 | 5634 | scriptEngine->registerGlobalObject("AvatarInputs", AvatarInputs::getInstance()); |
| 5625 | 5635 | |
| 5626 | − | |
| 5627 | 5636 | qScriptRegisterMetaType(scriptEngine, OverlayIDtoScriptValue, OverlayIDfromScriptValue); |
| 5628 | 5637 | |
| 5629 | 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 | 5641 | connect(scriptEngine, &ScriptEngine::warningMessage, DependencyManager::get<ScriptEngines>().data(), &ScriptEngines::onWarningMessage); |
| 5633 | 5642 | connect(scriptEngine, &ScriptEngine::infoMessage, DependencyManager::get<ScriptEngines>().data(), &ScriptEngines::onInfoMessage); |
| 5634 | 5643 | connect(scriptEngine, &ScriptEngine::clearDebugWindow, DependencyManager::get<ScriptEngines>().data(), &ScriptEngines::onClearDebugWindow); |
| 5644 | + | |
| 5635 | 5645 | } |
| 5636 | 5646 | |
| 5637 | 5647 | bool Application::canAcceptURL(const QString& urlString) const { |