@@ -28,6 +28,7 @@
2828DebuggingController::DebuggingController(QObject *parent):
2929 UnityDBusObject(QStringLiteral("/com/canonical/Unity8/Debugging"), QStringLiteral("com.canonical.Unity8"), true, parent)
3030{
31+ connect(&m_mapper, SIGNAL(mapped(QObject*)), this, SLOT(applyRenderMode(QObject*)), Qt::DirectConnection);
3132}
3233
3334void DebuggingController::SetSceneGraphVisualizer(const QString &visualizer)
@@ -43,7 +44,9 @@ void DebuggingController::SetSceneGraphVisualizer(const QString &visualizer)
4344 // We do this by simply recreating the renderer.
4445 QMutexLocker lock(&m_renderModeMutex);
4546 m_pendingRenderMode = visualizer;
46− connect(qquickWindow, &QQuickWindow::beforeSynchronizing, this, &DebuggingController::applyRenderMode, Qt::DirectConnection);
47+ qDebug() << "connecting to mapper";
48+ connect(qquickWindow, SIGNAL(beforeSynchronizing()), &m_mapper, SLOT(map()), Qt::DirectConnection);
49+ m_mapper.setMapping(qquickWindow, qquickWindow);
4750#else
4851 QQuickWindowPrivate *winPriv = QQuickWindowPrivate::get(qquickWindow);
4952 winPriv->customRenderMode = visualizer.toLatin1();
@@ -53,13 +56,13 @@ void DebuggingController::SetSceneGraphVisualizer(const QString &visualizer)
5356 }
5457}
5558
56−void DebuggingController::applyRenderMode() {
57− qDebug() << "applyRenderMode called" << sender();
58− QQuickWindow *qquickWindow = dynamic_cast<QQuickWindow*>(sender());
59− qDebug() << "window is" << qquickWindow << sender() << sender()->metaObject()->className();
59+void DebuggingController::applyRenderMode(QObject* sender) {
60+ qDebug() << "applyRenderMode called" << sender;
61+ QQuickWindow *qquickWindow = dynamic_cast<QQuickWindow*>(sender);
62+ qDebug() << "window is" << qquickWindow;
6063
6164 QMutexLocker lock(&m_renderModeMutex);
62− disconnect(qquickWindow, &QQuickWindow::beforeSynchronizing, this, &DebuggingController::applyRenderMode);
65+ disconnect(qquickWindow, SIGNAL(beforeSynchronizing()), &m_mapper, SLOT(map()));
6366
6467 qDebug() << "mutex locked";
6568#if QT_VERSION >= QT_VERSION_CHECK(5, 5, 0)