summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/wayland/qwaylanddisplay.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/wayland/qwaylanddisplay.cpp')
-rw-r--r--src/plugins/platforms/wayland/qwaylanddisplay.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/plugins/platforms/wayland/qwaylanddisplay.cpp b/src/plugins/platforms/wayland/qwaylanddisplay.cpp
index 10bc2d5bfa2..1fc5e5c30a0 100644
--- a/src/plugins/platforms/wayland/qwaylanddisplay.cpp
+++ b/src/plugins/platforms/wayland/qwaylanddisplay.cpp
@@ -485,9 +485,13 @@ void QWaylandDisplay::reconnect()
connect(
this, &QWaylandDisplay::connected, this,
- [&allPlatformWindows] {
+ [this, &allPlatformWindows] {
for (auto &window : std::as_const(allPlatformWindows)) {
- window->initializeWlSurface();
+ window->initializeWlSurface(false);
+ }
+ forceRoundTrip(); // we need a roundtrip to receive the color space features the compositor supports
+ for (auto &window : std::as_const(allPlatformWindows)) {
+ window->initializeColorSpace();
}
},
Qt::SingleShotConnection);
@@ -797,10 +801,8 @@ void QWaylandDisplay::registry_global(uint32_t id, const QString &interface, uin
inputDevice->setDataControlDevice(mGlobals.dataControlManager->createDevice(inputDevice));
}
#endif
- } else if (interface == QLatin1String(QtWayland::xx_color_manager_v4::interface()->name)) {
+ } else if (interface == QLatin1String(QtWayland::wp_color_manager_v1::interface()->name)) {
mGlobals.colorManager = std::make_unique<ColorManager>(registry, id, 1);
- // we need a roundtrip to receive the features the compositor supports
- forceRoundTrip();
} else if (interface == QLatin1String(QtWayland::wp_pointer_warp_v1::interface()->name)) {
mGlobals.pointerWarp.reset(new WithDestructor<QtWayland::wp_pointer_warp_v1, wp_pointer_warp_v1_destroy>(
registry, id, 1));