Skip to content

backend/wayland: don't attach null buffers to owned surfaces

Kirill Primak requested to merge vyivel/wlroots:wl-be-fix into master

If an output owns the surface, it means that the surface plays the role of an xdg_toplevel. The xdg-shell protocol mandates that in order to be mapped again, the surface must perform the whole initial commit and configuration dance, which is not an option. Instead, we can just stop updating the output. This also avoids resetting xdg_toplevel state such as title and app_id, which are cleared whe the surface is unmapped.

wlr_wl_output_create_from_surface() users might depend on the current behavior, so preserve it for outputs backed by existing surfaces, at least for now.

Merge request reports