diff options
author | Liang Qi <liang.qi@qt.io> | 2017-04-11 11:12:18 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2017-04-11 11:12:18 +0200 |
commit | 3480c2e0565eeb938fb6fb8ba1dad640fb0a0d12 (patch) | |
tree | 47c6963467a3c20326adfebd3cc0c15063ef04ba /src/qml/jsruntime/qv4qobjectwrapper_p.h | |
parent | 90e7521313fc9e89d492d65f9ad0dca3c38e7225 (diff) | |
parent | d438be92dd7068fef94ce98e1ec039fe0ef4f3b3 (diff) |
Merge remote-tracking branch 'origin/5.8' into 5.9
Change-Id: Ib3d81ad33a6ba28d891da91271a64d5fcc4874e6
Diffstat (limited to 'src/qml/jsruntime/qv4qobjectwrapper_p.h')
-rw-r--r-- | src/qml/jsruntime/qv4qobjectwrapper_p.h | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/qml/jsruntime/qv4qobjectwrapper_p.h b/src/qml/jsruntime/qv4qobjectwrapper_p.h index b09e06cec5..6494c20bd2 100644 --- a/src/qml/jsruntime/qv4qobjectwrapper_p.h +++ b/src/qml/jsruntime/qv4qobjectwrapper_p.h @@ -209,13 +209,10 @@ inline ReturnedValue QObjectWrapper::wrap(ExecutionEngine *engine, QObject *obje if (Q_UNLIKELY(QQmlData::wasDeleted(object))) return QV4::Encode::null(); - QObjectPrivate *priv = QObjectPrivate::get(const_cast<QObject *>(object)); - if (Q_LIKELY(priv->declarativeData)) { - auto ddata = static_cast<QQmlData *>(priv->declarativeData); - if (Q_LIKELY(ddata->jsEngineId == engine->m_engineId && !ddata->jsWrapper.isUndefined())) { - // We own the JS object - return ddata->jsWrapper.value(); - } + auto ddata = QQmlData::get(object); + if (Q_LIKELY(ddata && ddata->jsEngineId == engine->m_engineId && !ddata->jsWrapper.isUndefined())) { + // We own the JS object + return ddata->jsWrapper.value(); } return wrap_slowPath(engine, object); |