Skip to content

Adapt to QScreen logic change on Qt6

Marco Martin requested to merge work/mart/screenpoolBehavior into master

In Qt6 the behavior of qscreen changed a bit when the last output is disconnected and how the fake outputs are managed, and differs a bit between X11 and Wayland.

On X11 when disconencting the last screen, nothing happens, except the single QScreen quietly changes its name to ":0.0" with no signals, so we can't detect it became "fake"

On Wayland, on disconnect, a new fake qscreen gets added and the last real one gets removed

on reconnection, the sequence of events is the same between X11 and Wayland, a new real QScreen is added and the fake one is removed

Adapt the checks and asserts to reflect this behavior

Merge request reports