Details
-
Technical task
-
Resolution: Fixed
-
P2: Important
-
None
Description
The assumption that the native window or surface object (whichever is applicable on a plaform) backing a QPlatformWindow follows the QPlatformWindow's lifetime is wrong.
(the events are sent from QtGui currently, without accurately following the underlying native objects' lifetime, hence the assumption)
On at least one platform, Wayland, the wl_surface can disappear and can get recreated during the lifetime of the QWaylandWindow (the QPlatformWindow implementation).
While Wayland-specific users (such as th Qt Application Manager) can handle this via private APIs exposed from waylandclient (a shared lib part of the wayland platform plugin), generic Qt users cannot. (see https://codereview.qt-project.org/c/qt/qtwayland/+/266329 )
Would this then present an issue on Vulkan for example, where application- or QtQuick- managed swapchains are tied to a VkSurfaceKHR that is in turn created for the wl_surface?