diff options
Diffstat (limited to 'src/particles')
-rw-r--r-- | src/particles/qquickv4particledata.cpp | 35 |
1 files changed, 20 insertions, 15 deletions
diff --git a/src/particles/qquickv4particledata.cpp b/src/particles/qquickv4particledata.cpp index 71ca4d31d0..ac19e025f6 100644 --- a/src/particles/qquickv4particledata.cpp +++ b/src/particles/qquickv4particledata.cpp @@ -300,7 +300,8 @@ public: static QV4::ReturnedValue particleData_discard(QV4::SimpleCallContext *ctx) { - QV4ParticleData *r = ctx->thisObject.as<QV4ParticleData>(); + QV4::Scope scope(ctx); + QV4::Scoped<QV4ParticleData> r(scope, ctx->callData->thisObject); if (!r || !r->datum) ctx->throwError(QStringLiteral("Not a valid ParticleData object")); @@ -311,7 +312,9 @@ static QV4::ReturnedValue particleData_discard(QV4::SimpleCallContext *ctx) static QV4::ReturnedValue particleData_lifeLeft(QV4::SimpleCallContext *ctx) { - QV4ParticleData *r = ctx->thisObject.as<QV4ParticleData>(); + QV4::Scope scope(ctx); + QV4::Scoped<QV4ParticleData> r(scope, ctx->callData->thisObject); + if (!r || !r->datum) ctx->throwError(QStringLiteral("Not a valid ParticleData object")); @@ -320,7 +323,9 @@ static QV4::ReturnedValue particleData_lifeLeft(QV4::SimpleCallContext *ctx) static QV4::ReturnedValue particleData_curSize(QV4::SimpleCallContext *ctx) { - QV4ParticleData *r = ctx->thisObject.as<QV4ParticleData>(); + QV4::Scope scope(ctx); + QV4::Scoped<QV4ParticleData> r(scope, ctx->callData->thisObject); + if (!r || !r->datum) ctx->throwError(QStringLiteral("Not a valid ParticleData object")); @@ -329,7 +334,7 @@ static QV4::ReturnedValue particleData_curSize(QV4::SimpleCallContext *ctx) #define COLOR_GETTER_AND_SETTER(VAR, NAME) static QV4::ReturnedValue particleData_get_ ## NAME (QV4::SimpleCallContext *ctx) \ { \ QV4::Scope scope(ctx); \ - QV4::Scoped<QV4ParticleData> r(scope, ctx->thisObject); \ + QV4::Scoped<QV4ParticleData> r(scope, ctx->callData->thisObject); \ if (!r || !r->datum) \ ctx->throwError(QStringLiteral("Not a valid ParticleData object")); \ \ @@ -339,11 +344,11 @@ static QV4::ReturnedValue particleData_curSize(QV4::SimpleCallContext *ctx) static QV4::ReturnedValue particleData_set_ ## NAME (QV4::SimpleCallContext *ctx)\ {\ QV4::Scope scope(ctx); \ - QV4::Scoped<QV4ParticleData> r(scope, ctx->thisObject); \ + QV4::Scoped<QV4ParticleData> r(scope, ctx->callData->thisObject); \ if (!r || !r->datum)\ ctx->throwError(QStringLiteral("Not a valid ParticleData object"));\ \ - double d = ctx->argumentCount ? ctx->arguments[0].toNumber() : 0; \ + double d = ctx->callData->argc ? ctx->callData->args[0].toNumber() : 0; \ r->datum->color. VAR = qMin(255, qMax(0, (int)floor(d * 255.0)));\ return QV4::Encode::undefined(); \ } @@ -352,7 +357,7 @@ static QV4::ReturnedValue particleData_set_ ## NAME (QV4::SimpleCallContext *ctx #define SEMIBOOL_GETTER_AND_SETTER(VARIABLE) static QV4::ReturnedValue particleData_get_ ## VARIABLE (QV4::SimpleCallContext *ctx) \ { \ QV4::Scope scope(ctx); \ - QV4::Scoped<QV4ParticleData> r(scope, ctx->thisObject); \ + QV4::Scoped<QV4ParticleData> r(scope, ctx->callData->thisObject); \ if (!r || !r->datum) \ ctx->throwError(QStringLiteral("Not a valid ParticleData object")); \ \ @@ -362,18 +367,18 @@ static QV4::ReturnedValue particleData_set_ ## NAME (QV4::SimpleCallContext *ctx static QV4::ReturnedValue particleData_set_ ## VARIABLE (QV4::SimpleCallContext *ctx)\ {\ QV4::Scope scope(ctx); \ - QV4::Scoped<QV4ParticleData> r(scope, ctx->thisObject); \ + QV4::Scoped<QV4ParticleData> r(scope, ctx->callData->thisObject); \ if (!r || !r->datum)\ ctx->throwError(QStringLiteral("Not a valid ParticleData object"));\ \ - r->datum-> VARIABLE = (ctx->argumentCount && ctx->arguments[0].toBoolean()) ? 1.0 : 0.0;\ + r->datum-> VARIABLE = (ctx->callData->argc && ctx->callData->args[0].toBoolean()) ? 1.0 : 0.0;\ return QV4::Encode::undefined(); \ } #define FLOAT_GETTER_AND_SETTER(VARIABLE) static QV4::ReturnedValue particleData_get_ ## VARIABLE (QV4::SimpleCallContext *ctx) \ { \ QV4::Scope scope(ctx); \ - QV4::Scoped<QV4ParticleData> r(scope, ctx->thisObject); \ + QV4::Scoped<QV4ParticleData> r(scope, ctx->callData->thisObject); \ if (!r || !r->datum) \ ctx->throwError(QStringLiteral("Not a valid ParticleData object")); \ \ @@ -383,18 +388,18 @@ static QV4::ReturnedValue particleData_set_ ## VARIABLE (QV4::SimpleCallContext static QV4::ReturnedValue particleData_set_ ## VARIABLE (QV4::SimpleCallContext *ctx)\ {\ QV4::Scope scope(ctx); \ - QV4::Scoped<QV4ParticleData> r(scope, ctx->thisObject); \ + QV4::Scoped<QV4ParticleData> r(scope, ctx->callData->thisObject); \ if (!r || !r->datum)\ ctx->throwError(QStringLiteral("Not a valid ParticleData object"));\ \ - r->datum-> VARIABLE = ctx->argumentCount ? ctx->arguments[0].toNumber() : qSNaN();\ + r->datum-> VARIABLE = ctx->callData->argc ? ctx->callData->args[0].toNumber() : qSNaN();\ return QV4::Encode::undefined(); \ } #define FAKE_FLOAT_GETTER_AND_SETTER(VARIABLE, GETTER, SETTER) static QV4::ReturnedValue particleData_get_ ## VARIABLE (QV4::SimpleCallContext *ctx) \ { \ QV4::Scope scope(ctx); \ - QV4::Scoped<QV4ParticleData> r(scope, ctx->thisObject); \ + QV4::Scoped<QV4ParticleData> r(scope, ctx->callData->thisObject); \ if (!r || !r->datum) \ ctx->throwError(QStringLiteral("Not a valid ParticleData object")); \ \ @@ -404,11 +409,11 @@ static QV4::ReturnedValue particleData_set_ ## VARIABLE (QV4::SimpleCallContext static QV4::ReturnedValue particleData_set_ ## VARIABLE (QV4::SimpleCallContext *ctx)\ {\ QV4::Scope scope(ctx); \ - QV4::Scoped<QV4ParticleData> r(scope, ctx->thisObject); \ + QV4::Scoped<QV4ParticleData> r(scope, ctx->callData->thisObject); \ if (!r || !r->datum)\ ctx->throwError(QStringLiteral("Not a valid ParticleData object"));\ \ - r->datum-> SETTER (ctx->argumentCount ? ctx->arguments[0].toNumber() : qSNaN());\ + r->datum-> SETTER (ctx->callData->argc ? ctx->callData->args[0].toNumber() : qSNaN());\ return QV4::Encode::undefined(); \ } |