diff options
Diffstat (limited to 'src/plugins/platforms/wayland/qwaylanddisplay.cpp')
| -rw-r--r-- | src/plugins/platforms/wayland/qwaylanddisplay.cpp | 12 |
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)); |
