aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickitem.cpp
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2013-09-16 22:02:27 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-09-22 01:06:20 +0200
commite441692b0b8f8fffdfdfa8a21c570adcd5cbae7a (patch)
tree9b764401d87682012328c46dc947721f47b428b2 /src/quick/items/qquickitem.cpp
parenta0f8be4021caa9bb5055923f0eea3bee0e345235 (diff)
Further work towards an exact GC
Add some more convenience in the helper classes in qscopedvalue_p.h Make accesses to CallData safer, and change ExecutionEngine::newObject() to return a safe pointer. Change-Id: I980909754ce9681cf6faa1355bab3a1e5d6dd186 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/quick/items/qquickitem.cpp')
-rw-r--r--src/quick/items/qquickitem.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/quick/items/qquickitem.cpp b/src/quick/items/qquickitem.cpp
index 98a87a4bcf..341339e7b9 100644
--- a/src/quick/items/qquickitem.cpp
+++ b/src/quick/items/qquickitem.cpp
@@ -3878,8 +3878,9 @@ void QQuickItem::mapFromItem(QQmlV4Function *args) const
}
QV4::ExecutionEngine *v4 = QV8Engine::getV4(args->engine());
- QV4::Object *rv = v4->newObject();
- args->setReturnValue(QV4::Value::fromObject(rv));
+ QV4::Scope scope(v4);
+ QV4::Scoped<QV4::Object> rv(scope, v4->newObject());
+ args->setReturnValue(rv.asValue());
qreal x = (args->length() > 1) ? (*args)[1].asDouble() : 0;
qreal y = (args->length() > 2) ? (*args)[2].asDouble() : 0;
@@ -3952,8 +3953,9 @@ void QQuickItem::mapToItem(QQmlV4Function *args) const
}
QV4::ExecutionEngine *v4 = QV8Engine::getV4(args->engine());
- QV4::Object *rv = v4->newObject();
- args->setReturnValue(QV4::Value::fromObject(rv));
+ QV4::Scope scope(v4);
+ QV4::Scoped<QV4::Object> rv(scope, v4->newObject());
+ args->setReturnValue(rv.asValue());
qreal x = (args->length() > 1) ? (*args)[1].asDouble() : 0;
qreal y = (args->length() > 2) ? (*args)[2].asDouble() : 0;