From 462f38f735c43fd446d881d805e67ca3a44c724c Mon Sep 17 00:00:00 2001 From: Roman Nowicki Date: Thu, 19 Nov 2015 11:55:19 +0100 Subject: qml: proper initialization if scene is already initialized The scene graph can be initialized when the we receive window handle change notification and so we will not receive a scenegraph initialization notification. Initialize ourself in this case. https://bugzilla.gnome.org/show_bug.cgi?id=758337 --- ext/qt/qtitem.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ext/qt/qtitem.cc b/ext/qt/qtitem.cc index 7c5397913..63060e163 100644 --- a/ext/qt/qtitem.cc +++ b/ext/qt/qtitem.cc @@ -359,7 +359,11 @@ void QtGLVideoItem::handleWindowChanged(QQuickWindow *win) { if (win) { - connect(win, SIGNAL(sceneGraphInitialized()), this, SLOT(onSceneGraphInitialized()), Qt::DirectConnection); + if (win->isSceneGraphInitialized()) + onSceneGraphInitialized(); + else + connect(win, SIGNAL(sceneGraphInitialized()), this, SLOT(onSceneGraphInitialized()), Qt::DirectConnection); + connect(win, SIGNAL(sceneGraphInvalidated()), this, SLOT(onSceneGraphInvalidated()), Qt::DirectConnection); } else { this->priv->qt_context = NULL; -- cgit v1.2.1