diff options
Diffstat (limited to 'src/qml/qml/qqmllistwrapper.cpp')
-rw-r--r-- | src/qml/qml/qqmllistwrapper.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/qml/qml/qqmllistwrapper.cpp b/src/qml/qml/qqmllistwrapper.cpp index 0d60fee5d0..fd50e2dbbc 100644 --- a/src/qml/qml/qqmllistwrapper.cpp +++ b/src/qml/qml/qqmllistwrapper.cpp @@ -129,13 +129,21 @@ ReturnedValue QmlListWrapper::getIndexed(Managed *m, uint index, bool *hasProper QV4::ExecutionEngine *e = m->engine(); QmlListWrapper *w = m->as<QmlListWrapper>(); - if (!w) + if (!w) { + if (hasProperty) + *hasProperty = false; return e->currentContext()->throwTypeError(); + } quint32 count = w->property.count ? w->property.count(&w->property) : 0; - if (index < count && w->property.at) + if (index < count && w->property.at) { + if (hasProperty) + *hasProperty = true; return QV4::QObjectWrapper::wrap(e, w->property.at(&w->property, index)); + } + if (hasProperty) + *hasProperty = false; return Primitive::undefinedValue().asReturnedValue(); } |