From cf737d265f0d507ae8e5a909a7b7d43a4aae7de3 Mon Sep 17 00:00:00 2001 From: Shawn Rutledge Date: Fri, 31 May 2013 15:33:45 +0200 Subject: [PATCH] qmlscene: if top-level is a QQuickWindow, set incubation controller The necessity for this is documented in the QQuickWindow::incubationController() accessor. Bug 31203 is about writing a custom main() with a QQmlApplicationEngine, not about qmlscene, but the same workaround is necessary for both. Hopefully soon we find a way to make it unnecessary, but for now it is. This fix also doesn't take care of the QtObject { Window { } } use case. Task-number: QTBUG-31203 Change-Id: Ic9a5e4a23ac918593138dc9cab3de6cd36453eaf Reviewed-by: Jens Bache-Wiig Reviewed-by: Alan Alpert --- tools/qmlscene/main.cpp | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/tools/qmlscene/main.cpp b/tools/qmlscene/main.cpp index d572487..8a48445 100644 --- a/tools/qmlscene/main.cpp +++ b/tools/qmlscene/main.cpp @@ -483,7 +483,9 @@ int main(int argc, char ** argv) QObject *topLevel = component->create(); QQuickWindow *window = qobject_cast(topLevel); QQuickView* qxView = 0; - if (!window) { + if (window) { + engine.setIncubationController(window->incubationController()); + } else { QQuickItem *contentItem = qobject_cast(topLevel); if (contentItem) { qxView = new QQuickView(&engine, NULL); -- 1.7.2.5