aboutsummaryrefslogtreecommitdiffstats
path: root/src/qmlmodels
diff options
context:
space:
mode:
Diffstat (limited to 'src/qmlmodels')
-rw-r--r--src/qmlmodels/qqmldelegatemodel.cpp9
-rw-r--r--src/qmlmodels/qqmllistmodel.cpp13
2 files changed, 13 insertions, 9 deletions
diff --git a/src/qmlmodels/qqmldelegatemodel.cpp b/src/qmlmodels/qqmldelegatemodel.cpp
index 095b66b379..08c91d172e 100644
--- a/src/qmlmodels/qqmldelegatemodel.cpp
+++ b/src/qmlmodels/qqmldelegatemodel.cpp
@@ -48,6 +48,7 @@
#include <private/qqmlchangeset_p.h>
#include <private/qqmlengine_p.h>
#include <private/qqmlcomponent_p.h>
+#include <private/qjsvalue_p.h>
#include <private/qv4value_p.h>
#include <private/qv4functionobject_p.h>
@@ -2656,8 +2657,10 @@ void QQmlDelegateModelGroupPrivate::emitChanges(QV4::ExecutionEngine *v4)
{
Q_Q(QQmlDelegateModelGroup);
if (isChangedConnected() && !changeSet.isEmpty()) {
- emit q->changed(QJSValue(v4, engineData(v4)->array(v4, changeSet.removes())),
- QJSValue(v4, engineData(v4)->array(v4, changeSet.inserts())));
+ emit q->changed(QJSValuePrivate::fromReturnedValue(
+ engineData(v4)->array(v4, changeSet.removes())),
+ QJSValuePrivate::fromReturnedValue(
+ engineData(v4)->array(v4, changeSet.inserts())));
}
if (changeSet.difference() != 0)
emit q->countChanged();
@@ -2874,7 +2877,7 @@ QJSValue QQmlDelegateModelGroup::get(int index)
QV4::ScopedObject p(scope, model->m_cacheMetaType->modelItemProto.value());
o->setPrototypeOf(p);
- return QJSValue(v4, o->asReturnedValue());
+ return QJSValuePrivate::fromReturnedValue(o->asReturnedValue());
}
bool QQmlDelegateModelGroupPrivate::parseIndex(const QV4::Value &value, int *index, Compositor::Group *group) const
diff --git a/src/qmlmodels/qqmllistmodel.cpp b/src/qmlmodels/qqmllistmodel.cpp
index e58fc19178..0d45d03fa6 100644
--- a/src/qmlmodels/qqmllistmodel.cpp
+++ b/src/qmlmodels/qqmllistmodel.cpp
@@ -589,7 +589,7 @@ void ListModel::set(int elementIndex, QV4::Object *object, QVector<int> *roles)
const ListLayout::Role &r = m_layout->getRoleOrCreate(propertyName, ListLayout::Role::Function);
QV4::ScopedFunctionObject func(scope, f);
QJSValue jsv;
- QJSValuePrivate::setValue(&jsv, v4, func);
+ QJSValuePrivate::setValue(&jsv, func);
roleIndex = e->setFunctionProperty(r, jsv);
} else if (QV4::Object *o = propertyValue->as<QV4::Object>()) {
if (QV4::QObjectWrapper *wrapper = o->as<QV4::QObjectWrapper>()) {
@@ -1434,7 +1434,7 @@ int ListElement::setJsProperty(const ListLayout::Role &role, const QV4::Value &d
} else if (d.as<QV4::FunctionObject>()) {
QV4::ScopedFunctionObject f(scope, d);
QJSValue jsv;
- QJSValuePrivate::setValue(&jsv, eng, f);
+ QJSValuePrivate::setValue(&jsv, f);
roleIndex = setFunctionProperty(role, jsv);
} else if (d.isObject()) {
QV4::ScopedObject o(scope, d);
@@ -1638,7 +1638,8 @@ PropertyKey ModelObjectOwnPropertyKeyIterator::next(const Object *o, Property *p
auto size = recursiveListModel->count();
auto array = ScopedArrayObject{scope, v4->newArrayObject(size)};
for (auto i = 0; i < size; i++) {
- array->arrayPut(i, QJSValuePrivate::convertedToValue(v4, recursiveListModel->get(i)));
+ array->arrayPut(i, QJSValuePrivate::convertToReturnedValue(
+ v4, recursiveListModel->get(i)));
}
pd->value = array;
} else {
@@ -2570,7 +2571,7 @@ QJSValue QQmlListModel::get(int index) const
}
}
- return QJSValue(engine(), result->asReturnedValue());
+ return QJSValuePrivate::fromReturnedValue(result->asReturnedValue());
}
/*!
@@ -2592,7 +2593,7 @@ QJSValue QQmlListModel::get(int index) const
void QQmlListModel::set(int index, const QJSValue &value)
{
QV4::Scope scope(engine());
- QV4::ScopedObject object(scope, QJSValuePrivate::getValue(&value));
+ QV4::ScopedObject object(scope, QJSValuePrivate::asReturnedValue(&value));
if (!object) {
qmlWarning(this) << tr("set: value is not an object");
@@ -2791,7 +2792,7 @@ bool QQmlListModelParser::applyProperty(
if (v4->hasException)
v4->catchException();
else
- QJSValuePrivate::setValue(&v, v4, result->asReturnedValue());
+ QJSValuePrivate::setValue(&v, result->asReturnedValue());
value.setValue<QJSValue>(v);
} else {
QByteArray script = scriptStr.toUtf8();