diff options
Diffstat (limited to 'src/quick/items/qquickview.cpp')
-rw-r--r-- | src/quick/items/qquickview.cpp | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/quick/items/qquickview.cpp b/src/quick/items/qquickview.cpp index 2110d4caba..5b3b954460 100644 --- a/src/quick/items/qquickview.cpp +++ b/src/quick/items/qquickview.cpp @@ -486,7 +486,9 @@ void QQuickView::continueExecute() return; } - QObject *obj = d->initialProperties.empty() ? d->component->create() : d->component->createWithInitialProperties(d->initialProperties); + QScopedPointer<QObject> obj(d->initialProperties.empty() + ? d->component->create() + : d->component->createWithInitialProperties(d->initialProperties)); if (d->component->isError()) { const QList<QQmlError> errorList = d->component->errors(); @@ -498,7 +500,7 @@ void QQuickView::continueExecute() return; } - d->setRootObject(obj); + d->setRootObject(obj.take()); emit statusChanged(status()); } @@ -516,14 +518,14 @@ void QQuickViewPrivate::setRootObject(QObject *obj) sgItem->setParentItem(q->QQuickWindow::contentItem()); QQml_setParent_noEvent(sgItem, q->QQuickWindow::contentItem()); } else if (qobject_cast<QWindow *>(obj)) { - qWarning() << "QQuickView does not support using windows as a root item." << endl - << endl - << "If you wish to create your root window from QML, consider using QQmlApplicationEngine instead." << endl; + qWarning() << "QQuickView does not support using windows as a root item." << Qt::endl + << Qt::endl + << "If you wish to create your root window from QML, consider using QQmlApplicationEngine instead." << Qt::endl; } else { - qWarning() << "QQuickView only supports loading of root objects that derive from QQuickItem." << endl - << endl - << "Ensure your QML code is written for QtQuick 2, and uses a root that is or" << endl - << "inherits from QtQuick's Item (not a Timer, QtObject, etc)." << endl; + qWarning() << "QQuickView only supports loading of root objects that derive from QQuickItem." << Qt::endl + << Qt::endl + << "Ensure your QML code is written for QtQuick 2, and uses a root that is or" << Qt::endl + << "inherits from QtQuick's Item (not a Timer, QtObject, etc)." << Qt::endl; delete obj; root = nullptr; } |