summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGiulio Camuffo <giulio.camuffo@jollamobile.com>2014-09-06 17:15:00 +0300
committerGiulio Camuffo <giulio.camuffo@jollamobile.com>2014-09-06 20:25:00 +0200
commit73151fc07b78a52ee4887fa8325bc4e582320c73 (patch)
treee921391b557d25894d07ce8b46339973c255eee4
parentdc055c3edf46ac4b37920cb9a0f94b34db0bd3cb (diff)
Advertise new screens created after startup
Change-Id: I995f49e52ec888830b478f1e1f9cc82132776725 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
-rw-r--r--src/client/qwaylanddisplay.cpp4
-rw-r--r--src/client/qwaylandintegration.cpp3
-rw-r--r--src/client/qwaylandintegration_p.h2
3 files changed, 5 insertions, 4 deletions
diff --git a/src/client/qwaylanddisplay.cpp b/src/client/qwaylanddisplay.cpp
index a037bb962..264528f6c 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 224466cc4..d9bf82e4f 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 025e0b4df..bbe982853 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