aboutsummaryrefslogtreecommitdiffstats
path: root/src/particles
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2017-05-29 10:30:39 +0200
committerLars Knoll <lars.knoll@qt.io>2017-06-06 15:59:38 +0200
commitc254cec22a2352a3fcab60244a6ab74f95d45ace (patch)
treed8456def48b09bd3914eb87c57ab53376f92c14f /src/particles
parentc158ca8be49a75026e83751dfd825c5bdd63189a (diff)
parent3f9367cb32533b691cb8c761213f21a524e3d1cb (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.cpp107
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) \