From 73151fc07b78a52ee4887fa8325bc4e582320c73 Mon Sep 17 00:00:00 2001 From: Giulio Camuffo Date: Sat, 6 Sep 2014 17:15:00 +0300 Subject: Advertise new screens created after startup Change-Id: I995f49e52ec888830b478f1e1f9cc82132776725 Reviewed-by: Laszlo Agocs --- src/client/qwaylanddisplay.cpp | 4 +++- src/client/qwaylandintegration.cpp | 3 --- src/client/qwaylandintegration_p.h | 2 ++ 3 files changed, 5 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/client/qwaylanddisplay.cpp b/src/client/qwaylanddisplay.cpp index a037bb96..264528f6 100644 --- a/src/client/qwaylanddisplay.cpp +++ b/src/client/qwaylanddisplay.cpp @@ -215,9 +215,11 @@ void QWaylandDisplay::registry_global(uint32_t id, const QString &interface, uin struct ::wl_registry *registry = object(); if (interface == QStringLiteral("wl_output")) { - mScreens.append(new QWaylandScreen(this, id)); + QWaylandScreen *screen = new QWaylandScreen(this, id); + mScreens.append(screen); // We need to get the output events before creating surfaces forceRoundTrip(); + mWaylandIntegration->screenAdded(screen); } else if (interface == QStringLiteral("wl_compositor")) { mCompositor.init(registry, id, 3); } else if (interface == QStringLiteral("wl_shm")) { diff --git a/src/client/qwaylandintegration.cpp b/src/client/qwaylandintegration.cpp index 224466cc..d9bf82e4 100644 --- a/src/client/qwaylandintegration.cpp +++ b/src/client/qwaylandintegration.cpp @@ -128,9 +128,6 @@ QWaylandIntegration::QWaylandIntegration() mClipboard = new QWaylandClipboard(mDisplay); mDrag = new QWaylandDrag(mDisplay); - foreach (QWaylandScreen *screen, mDisplay->screens()) - screenAdded(screen); - mInputContext.reset(new QWaylandInputContext(mDisplay)); } diff --git a/src/client/qwaylandintegration_p.h b/src/client/qwaylandintegration_p.h index 025e0b4d..bbe98285 100644 --- a/src/client/qwaylandintegration_p.h +++ b/src/client/qwaylandintegration_p.h @@ -110,6 +110,8 @@ private: bool mClientBufferIntegrationInitialized; bool mServerBufferIntegrationInitialized; bool mShellIntegrationInitialized; + + friend class QWaylandDisplay; }; QT_END_NAMESPACE -- cgit v1.2.1