diff options
author | Liang Qi <liang.qi@qt.io> | 2017-05-29 10:30:39 +0200 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2017-06-06 15:59:38 +0200 |
commit | c254cec22a2352a3fcab60244a6ab74f95d45ace (patch) | |
tree | d8456def48b09bd3914eb87c57ab53376f92c14f /src/particles | |
parent | c158ca8be49a75026e83751dfd825c5bdd63189a (diff) | |
parent | 3f9367cb32533b691cb8c761213f21a524e3d1cb (diff) |
Merge remote-tracking branch 'origin/5.9' into dev
Conflicts:
.qmake.conf
src/qml/jsruntime/qv4argumentsobject.cpp
src/qml/jsruntime/qv4arraydata.cpp
src/qml/jsruntime/qv4context.cpp
src/qml/jsruntime/qv4context_p.h
src/qml/jsruntime/qv4errorobject.cpp
src/qml/jsruntime/qv4functionobject.cpp
src/qml/jsruntime/qv4internalclass.cpp
src/qml/jsruntime/qv4lookup.cpp
src/qml/jsruntime/qv4managed.cpp
src/qml/jsruntime/qv4managed_p.h
src/qml/jsruntime/qv4object.cpp
src/qml/jsruntime/qv4object_p.h
src/qml/jsruntime/qv4qmlcontext.cpp
src/qml/jsruntime/qv4runtime.cpp
src/qml/jsruntime/qv4vme_moth.cpp
src/qml/memory/qv4heap_p.h
src/qml/memory/qv4mm.cpp
src/qml/memory/qv4mm_p.h
src/qml/memory/qv4mmdefs_p.h
src/quick/scenegraph/util/qsgdistancefieldutil.cpp
src/quick/scenegraph/util/qsgdistancefieldutil_p.h
tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
Change-Id: I7ed925d4f5d308f872a58ddf51fdce0c8494ec9c
Diffstat (limited to 'src/particles')
-rw-r--r-- | src/particles/qquickv4particledata.cpp | 107 |
1 files changed, 48 insertions, 59 deletions
diff --git a/src/particles/qquickv4particledata.cpp b/src/particles/qquickv4particledata.cpp index 967652f31a..e8376f1c27 100644 --- a/src/particles/qquickv4particledata.cpp +++ b/src/particles/qquickv4particledata.cpp @@ -296,123 +296,112 @@ public: QV4::PersistentValue proto; }; -static QV4::ReturnedValue particleData_discard(QV4::CallContext *ctx) +static void particleData_discard(const QV4::BuiltinFunction *, QV4::Scope &scope, QV4::CallData *callData) { - QV4::Scope scope(ctx); - QV4::Scoped<QV4ParticleData> r(scope, ctx->thisObject()); + QV4::Scoped<QV4ParticleData> r(scope, callData->thisObject); if (!r || !r->d()->datum) - return ctx->engine()->throwError(QStringLiteral("Not a valid ParticleData object")); + RETURN_RESULT(scope.engine->throwError(QStringLiteral("Not a valid ParticleData object"))); r->d()->datum->lifeSpan = 0; //Don't kill(), because it could still be in the middle of being created - return QV4::Encode::undefined(); + RETURN_RESULT(QV4::Encode::undefined()); } -static QV4::ReturnedValue particleData_lifeLeft(QV4::CallContext *ctx) +static void particleData_lifeLeft(const QV4::BuiltinFunction *, QV4::Scope &scope, QV4::CallData *callData) { - QV4::Scope scope(ctx); - QV4::Scoped<QV4ParticleData> r(scope, ctx->thisObject()); + QV4::Scoped<QV4ParticleData> r(scope, callData->thisObject); if (!r || !r->d()->datum) - return ctx->engine()->throwError(QStringLiteral("Not a valid ParticleData object")); + RETURN_RESULT(scope.engine->throwError(QStringLiteral("Not a valid ParticleData object"))); - return QV4::Encode(r->d()->datum->lifeLeft(r->d()->particleSystem)); + RETURN_RESULT(QV4::Encode(r->d()->datum->lifeLeft(r->d()->particleSystem))); } -static QV4::ReturnedValue particleData_curSize(QV4::CallContext *ctx) +static void particleData_curSize(const QV4::BuiltinFunction *, QV4::Scope &scope, QV4::CallData *callData) { - QV4::Scope scope(ctx); - QV4::Scoped<QV4ParticleData> r(scope, ctx->thisObject()); + QV4::Scoped<QV4ParticleData> r(scope, callData->thisObject); if (!r || !r->d()->datum) - return ctx->engine()->throwError(QStringLiteral("Not a valid ParticleData object")); + RETURN_RESULT(scope.engine->throwError(QStringLiteral("Not a valid ParticleData object"))); - return QV4::Encode(r->d()->datum->curSize(r->d()->particleSystem)); + RETURN_RESULT(QV4::Encode(r->d()->datum->curSize(r->d()->particleSystem))); } -#define COLOR_GETTER_AND_SETTER(VAR, NAME) static QV4::ReturnedValue particleData_get_ ## NAME (QV4::CallContext *ctx) \ +#define COLOR_GETTER_AND_SETTER(VAR, NAME) static void particleData_get_ ## NAME (const QV4::BuiltinFunction *, QV4::Scope &scope, QV4::CallData *callData) \ { \ - QV4::Scope scope(ctx); \ - QV4::Scoped<QV4ParticleData> r(scope, ctx->thisObject()); \ + QV4::Scoped<QV4ParticleData> r(scope, callData->thisObject); \ if (!r || !r->d()->datum) \ - ctx->engine()->throwError(QStringLiteral("Not a valid ParticleData object")); \ + RETURN_RESULT(scope.engine->throwError(QStringLiteral("Not a valid ParticleData object"))); \ \ - return QV4::Encode((r->d()->datum->color. VAR )/255.0);\ + RETURN_RESULT(QV4::Encode((r->d()->datum->color. VAR )/255.0));\ }\ \ -static QV4::ReturnedValue particleData_set_ ## NAME (QV4::CallContext *ctx)\ +static void particleData_set_ ## NAME (const QV4::BuiltinFunction *, QV4::Scope &scope, QV4::CallData *callData)\ {\ - QV4::Scope scope(ctx); \ - QV4::Scoped<QV4ParticleData> r(scope, ctx->thisObject()); \ + QV4::Scoped<QV4ParticleData> r(scope, callData->thisObject); \ if (!r || !r->d()->datum)\ - ctx->engine()->throwError(QStringLiteral("Not a valid ParticleData object"));\ + RETURN_RESULT(scope.engine->throwError(QStringLiteral("Not a valid ParticleData object")));\ \ - double d = ctx->argc() ? ctx->args()[0].toNumber() : 0; \ + double d = callData->argc ? callData->args[0].toNumber() : 0; \ r->d()->datum->color. VAR = qMin(255, qMax(0, (int)::floor(d * 255.0)));\ - return QV4::Encode::undefined(); \ + RETURN_UNDEFINED(); \ } -#define SEMIBOOL_GETTER_AND_SETTER(VARIABLE) static QV4::ReturnedValue particleData_get_ ## VARIABLE (QV4::CallContext *ctx) \ +#define SEMIBOOL_GETTER_AND_SETTER(VARIABLE) static void particleData_get_ ## VARIABLE (const QV4::BuiltinFunction *, QV4::Scope &scope, QV4::CallData *callData) \ { \ - QV4::Scope scope(ctx); \ - QV4::Scoped<QV4ParticleData> r(scope, ctx->thisObject()); \ + QV4::Scoped<QV4ParticleData> r(scope, callData->thisObject); \ if (!r || !r->d()->datum) \ - ctx->engine()->throwError(QStringLiteral("Not a valid ParticleData object")); \ + RETURN_RESULT(scope.engine->throwError(QStringLiteral("Not a valid ParticleData object"))); \ \ - return QV4::Encode(r->d()->datum-> VARIABLE);\ + RETURN_RESULT(QV4::Encode(r->d()->datum-> VARIABLE));\ }\ \ -static QV4::ReturnedValue particleData_set_ ## VARIABLE (QV4::CallContext *ctx)\ +static void particleData_set_ ## VARIABLE (const QV4::BuiltinFunction *, QV4::Scope &scope, QV4::CallData *callData)\ {\ - QV4::Scope scope(ctx); \ - QV4::Scoped<QV4ParticleData> r(scope, ctx->thisObject()); \ + QV4::Scoped<QV4ParticleData> r(scope, callData->thisObject); \ if (!r || !r->d()->datum)\ - ctx->engine()->throwError(QStringLiteral("Not a valid ParticleData object"));\ + RETURN_RESULT(scope.engine->throwError(QStringLiteral("Not a valid ParticleData object")));\ \ - r->d()->datum-> VARIABLE = (ctx->argc() && ctx->args()[0].toBoolean()) ? 1.0 : 0.0;\ - return QV4::Encode::undefined(); \ + r->d()->datum-> VARIABLE = (callData->argc && callData->args[0].toBoolean()) ? 1.0 : 0.0;\ + RETURN_UNDEFINED(); \ } -#define FLOAT_GETTER_AND_SETTER(VARIABLE) static QV4::ReturnedValue particleData_get_ ## VARIABLE (QV4::CallContext *ctx) \ +#define FLOAT_GETTER_AND_SETTER(VARIABLE) static void particleData_get_ ## VARIABLE (const QV4::BuiltinFunction *, QV4::Scope &scope, QV4::CallData *callData) \ { \ - QV4::Scope scope(ctx); \ - QV4::Scoped<QV4ParticleData> r(scope, ctx->thisObject()); \ + QV4::Scoped<QV4ParticleData> r(scope, callData->thisObject); \ if (!r || !r->d()->datum) \ - ctx->engine()->throwError(QStringLiteral("Not a valid ParticleData object")); \ + RETURN_RESULT(scope.engine->throwError(QStringLiteral("Not a valid ParticleData object"))); \ \ - return QV4::Encode(r->d()->datum-> VARIABLE);\ + RETURN_RESULT(QV4::Encode(r->d()->datum-> VARIABLE));\ }\ \ -static QV4::ReturnedValue particleData_set_ ## VARIABLE (QV4::CallContext *ctx)\ +static void particleData_set_ ## VARIABLE (const QV4::BuiltinFunction *, QV4::Scope &scope, QV4::CallData *callData)\ {\ - QV4::Scope scope(ctx); \ - QV4::Scoped<QV4ParticleData> r(scope, ctx->thisObject()); \ + QV4::Scoped<QV4ParticleData> r(scope, callData->thisObject); \ if (!r || !r->d()->datum)\ - ctx->engine()->throwError(QStringLiteral("Not a valid ParticleData object"));\ + RETURN_RESULT(scope.engine->throwError(QStringLiteral("Not a valid ParticleData object")));\ \ - r->d()->datum-> VARIABLE = ctx->argc() ? ctx->args()[0].toNumber() : qt_qnan();\ - return QV4::Encode::undefined(); \ + r->d()->datum-> VARIABLE = callData->argc ? callData->args[0].toNumber() : qt_qnan();\ + RETURN_UNDEFINED(); \ } -#define FAKE_FLOAT_GETTER_AND_SETTER(VARIABLE, GETTER, SETTER) static QV4::ReturnedValue particleData_get_ ## VARIABLE (QV4::CallContext *ctx) \ +#define FAKE_FLOAT_GETTER_AND_SETTER(VARIABLE, GETTER, SETTER) static void particleData_get_ ## VARIABLE (const QV4::BuiltinFunction *, QV4::Scope &scope, QV4::CallData *callData) \ { \ - QV4::Scope scope(ctx); \ - QV4::Scoped<QV4ParticleData> r(scope, ctx->thisObject()); \ + QV4::Scoped<QV4ParticleData> r(scope, callData->thisObject); \ if (!r || !r->d()->datum) \ - ctx->engine()->throwError(QStringLiteral("Not a valid ParticleData object")); \ + RETURN_RESULT(scope.engine->throwError(QStringLiteral("Not a valid ParticleData object"))); \ \ - return QV4::Encode(r->d()->datum-> GETTER (r->d()->particleSystem));\ + RETURN_RESULT(QV4::Encode(r->d()->datum-> GETTER (r->d()->particleSystem)));\ }\ \ -static QV4::ReturnedValue particleData_set_ ## VARIABLE (QV4::CallContext *ctx)\ +static void particleData_set_ ## VARIABLE (const QV4::BuiltinFunction *, QV4::Scope &scope, QV4::CallData *callData)\ {\ - QV4::Scope scope(ctx); \ - QV4::Scoped<QV4ParticleData> r(scope, ctx->thisObject()); \ + QV4::Scoped<QV4ParticleData> r(scope, callData->thisObject); \ if (!r || !r->d()->datum)\ - ctx->engine()->throwError(QStringLiteral("Not a valid ParticleData object"));\ + RETURN_RESULT(scope.engine->throwError(QStringLiteral("Not a valid ParticleData object")));\ \ - r->d()->datum-> SETTER (ctx->argc() ? ctx->args()[0].toNumber() : qt_qnan(), r->d()->particleSystem);\ - return QV4::Encode::undefined(); \ + r->d()->datum-> SETTER (callData->argc ? callData->args[0].toNumber() : qt_qnan(), r->d()->particleSystem);\ + RETURN_UNDEFINED(); \ } #define REGISTER_ACCESSOR(PROTO, ENGINE, VARIABLE, NAME) \ |