Ensure that the check for deletion logic is consolidated in a single
location.
Task-number: QTBUG-25159
Change-Id: I27e856159afc745d68ec23cf3c872d740db8bcf3
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
*/
v8::Handle<v8::Value> QV8QObjectWrapper::newQObject(QObject *object)
{
- if (!object)
+ if (QQmlData::wasDeleted(object))
return v8::Null();
- if (QObjectPrivate::get(object)->wasDeleted)
- return v8::Null();
-
QQmlData *ddata = QQmlData::get(object, true);
-
if (!ddata)
return v8::Undefined();
- if (ddata->isQueuedForDeletion)
- return v8::Null();
-
if (ddata->v8objectid == m_id && !ddata->v8object.IsEmpty()) {
// We own the v8object
return v8::Local<v8::Object>::New(ddata->v8object);