diff options
author | Oleg Yadrov <oleg.yadrov@qt.io> | 2016-12-20 16:45:20 -0800 |
---|---|---|
committer | Shawn Rutledge <shawn.rutledge@qt.io> | 2017-01-02 07:01:15 +0000 |
commit | f70066e95e7e23562155686cb7d7874b2d5da5a1 (patch) | |
tree | 0e0741e13455291f4a433077ba6b0d7b0b56c0fb /src/quick/items | |
parent | bb123fa3a4b06dabb2a63304ee3d24f94d74c1f2 (diff) |
Make it possible to call grabToImage() on Window.contentItem
Window.contentItem was not associated with any QQmlContext and
QQmlEngine. A valid pointer to QQmlEngine is needed for callback
function execution.
Task-number: QTBUG-57175
Change-Id: Iab7730bfc8860521ff2e8c1631a11d0e1fe0cf94
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Diffstat (limited to 'src/quick/items')
-rw-r--r-- | src/quick/items/qquickview.cpp | 2 | ||||
-rw-r--r-- | src/quick/items/qquickwindowmodule.cpp | 3 |
2 files changed, 5 insertions, 0 deletions
diff --git a/src/quick/items/qquickview.cpp b/src/quick/items/qquickview.cpp index 573440ff7f..d7171bf910 100644 --- a/src/quick/items/qquickview.cpp +++ b/src/quick/items/qquickview.cpp @@ -62,6 +62,8 @@ void QQuickViewPrivate::init(QQmlEngine* e) if (engine.isNull()) engine = new QQmlEngine(q); + QQmlEngine::setContextForObject(contentItem, engine.data()->rootContext()); + if (!engine.data()->incubationController()) engine.data()->setIncubationController(q->incubationController()); diff --git a/src/quick/items/qquickwindowmodule.cpp b/src/quick/items/qquickwindowmodule.cpp index ea1fc2f106..42313e4584 100644 --- a/src/quick/items/qquickwindowmodule.cpp +++ b/src/quick/items/qquickwindowmodule.cpp @@ -102,6 +102,9 @@ void QQuickWindowQmlImpl::classBegin() { Q_D(QQuickWindowQmlImpl); QQmlEngine* e = qmlEngine(this); + + QQmlEngine::setContextForObject(contentItem(), e->rootContext()); + //Give QQuickView behavior when created from QML with QQmlApplicationEngine if (QCoreApplication::instance()->property("__qml_using_qqmlapplicationengine") == QVariant(true)) { if (e && !e->incubationController()) |