diff options
author | Lars Knoll <lars.knoll@digia.com> | 2013-09-23 15:52:10 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-09-26 09:05:16 +0200 |
commit | 12fd2ccd3fa2dc0133b5a3fb89f9fdf5cf721232 (patch) | |
tree | 880acb9c7c0d8289185b6aebe4339f439c707a0e /src/qml/qml/qqmllocale.cpp | |
parent | 2e4f66caa8a5f9e887dbdb4e3f2ae5c9be9a7005 (diff) |
Fix Persistent/WeakValue API
Don't use unprotected Values in the API anymore.
Change-Id: I8851628227fca374de24701bc8ee0908b5ae3923
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/qml/qqmllocale.cpp')
-rw-r--r-- | src/qml/qml/qqmllocale.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/qml/qml/qqmllocale.cpp b/src/qml/qml/qqmllocale.cpp index c3c7d0282d..db949467d1 100644 --- a/src/qml/qml/qqmllocale.cpp +++ b/src/qml/qml/qqmllocale.cpp @@ -835,11 +835,13 @@ QV4::ReturnedValue QQmlLocale::locale(QV8Engine *v8engine, const QString &locale { QV8LocaleDataDeletable *d = localeV8Data(v8engine); QV4::ExecutionEngine *engine = QV8Engine::getV4(v8engine); - QQmlLocaleData *wrapper = new (engine->memoryManager) QQmlLocaleData(engine); + QV4::Scope scope(engine); + QV4::Scoped<QQmlLocaleData> wrapper(scope, new (engine->memoryManager) QQmlLocaleData(engine)); if (!locale.isEmpty()) wrapper->locale = QLocale(locale); - wrapper->setPrototype(d->prototype.value().asObject()); - return QV4::Value::fromObject(wrapper).asReturnedValue(); + QV4::ScopedObject p(scope, d->prototype.value()); + wrapper->setPrototype(p.getPointer()); + return wrapper.asReturnedValue(); } void QQmlLocale::registerStringLocaleCompare(QV4::ExecutionEngine *engine) |