History

Merge branch 'master' of github.com:highfidelity/hifi into update-tablet-ui-again

Seth Alves committed 9 years ago

Commit bacc7962 parents 2886d7f 8b45afe18 files · +104 −45Browse files

Showing the changes to libraries/script-engine/src/ScriptEngine.cpp (1 of 18 files). Show all

Unified · Split

libraries/script-engine/src/ScriptEngine.cpp+9−5
@@ -67,6 +67,8 @@ · 66 unmodified lines
67#include "MIDIEvent.h"67#include "MIDIEvent.h"
68 68
69static const QString SCRIPT_EXCEPTION_FORMAT = "[UncaughtException] %1 in %2:%3";69static const QString SCRIPT_EXCEPTION_FORMAT = "[UncaughtException] %1 in %2:%3";
70static const QScriptEngine::QObjectWrapOptions DEFAULT_QOBJECT_WRAP_OPTIONS =
71 QScriptEngine::ExcludeDeleteLater | QScriptEngine::ExcludeChildObjects;
70 72
71Q_DECLARE_METATYPE(QScriptEngine::FunctionSignature)73Q_DECLARE_METATYPE(QScriptEngine::FunctionSignature)
72int functionSignatureMetaID = qRegisterMetaType<QScriptEngine::FunctionSignature>();74int functionSignatureMetaID = qRegisterMetaType<QScriptEngine::FunctionSignature>();
@@ -95,7 +97,7 @@ static QScriptValue debugPrint(QScriptContext* context, QScriptEngine* engine){ · 22 unmodified lines
95}97}
96 98
97QScriptValue avatarDataToScriptValue(QScriptEngine* engine, AvatarData* const &in) {99QScriptValue avatarDataToScriptValue(QScriptEngine* engine, AvatarData* const &in) {
98 return engine->newQObject(in);100 return engine->newQObject(in, QScriptEngine::QtOwnership, DEFAULT_QOBJECT_WRAP_OPTIONS);
99}101}
100 102
101void avatarDataFromScriptValue(const QScriptValue &object, AvatarData* &out) {103void avatarDataFromScriptValue(const QScriptValue &object, AvatarData* &out) {
@@ -106,7 +108,7 @@ Q_DECLARE_METATYPE(controller::InputController*) · 4 unmodified lines
106//static int inputControllerPointerId = qRegisterMetaType<controller::InputController*>();108//static int inputControllerPointerId = qRegisterMetaType<controller::InputController*>();
107 109
108QScriptValue inputControllerToScriptValue(QScriptEngine *engine, controller::InputController* const &in) {110QScriptValue inputControllerToScriptValue(QScriptEngine *engine, controller::InputController* const &in) {
109 return engine->newQObject(in);111 return engine->newQObject(in, QScriptEngine::QtOwnership, DEFAULT_QOBJECT_WRAP_OPTIONS);
110}112}
111 113
112void inputControllerFromScriptValue(const QScriptValue &object, controller::InputController* &out) {114void inputControllerFromScriptValue(const QScriptValue &object, controller::InputController* &out) {
@@ -460,7 +462,8 @@ static QScriptValue scriptableResourceToScriptValue(QScriptEngine* engine, const · 347 unmodified lines
460 462
461 auto object = engine->newQObject(463 auto object = engine->newQObject(
462 const_cast<ScriptableResourceRawPtr>(resource),464 const_cast<ScriptableResourceRawPtr>(resource),
463 QScriptEngine::ScriptOwnership);465 QScriptEngine::ScriptOwnership,
466 DEFAULT_QOBJECT_WRAP_OPTIONS);
464 return object;467 return object;
465}468}
466 469
@@ -479,7 +482,8 @@ static QScriptValue createScriptableResourcePrototype(QScriptEngine* engine) { · 12 unmodified lines
479 state->setProperty(metaEnum.key(i), metaEnum.value(i));482 state->setProperty(metaEnum.key(i), metaEnum.value(i));
480 }483 }
481 484
482 auto prototypeState = engine->newQObject(state, QScriptEngine::QtOwnership, QScriptEngine::ExcludeSlots | QScriptEngine::ExcludeSuperClassMethods);485 auto prototypeState = engine->newQObject(state, QScriptEngine::QtOwnership,
486 QScriptEngine::ExcludeDeleteLater | QScriptEngine::ExcludeSlots | QScriptEngine::ExcludeSuperClassMethods);
483 prototype.setProperty("State", prototypeState);487 prototype.setProperty("State", prototypeState);
484 488
485 return prototype;489 return prototype;
@@ -614,7 +618,7 @@ void ScriptEngine::registerGlobalObject(const QString& name, QObject* object) { · 128 unmodified lines
614 618
615 if (!globalObject().property(name).isValid()) {619 if (!globalObject().property(name).isValid()) {
616 if (object) {620 if (object) {
617 QScriptValue value = newQObject(object);621 QScriptValue value = newQObject(object, QScriptEngine::QtOwnership, DEFAULT_QOBJECT_WRAP_OPTIONS);
618 globalObject().setProperty(name, value);622 globalObject().setProperty(name, value);
619 } else {623 } else {
620 globalObject().setProperty(name, QScriptValue());624 globalObject().setProperty(name, QScriptValue());