History

Merge pull request #10792 from jherico/qml_crashes

Trying to fix QtQml/QtScript crashes

Brad Hefta-Gaub committed 9 years ago

Commit dc649e82 parents 63279f4 341646c47 files · +665 −461Browse files

Showing the changes to interface/src/Application.cpp (1 of 47 files). Show all

Unified · Split

interface/src/Application.cpp+14−4
@@ -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#endif1805#endif
1806 1806
1807 // stop QML1807 // 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 messages5638 // 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
5637bool Application::canAcceptURL(const QString& urlString) const {5647bool Application::canAcceptURL(const QString& urlString) const {