Skip to content

Add API to remove globals without immediate destruction

David Edmundson requested to merge work/deferred_remove into master

Destroying a global leads to a race on the client. If a client binds at just the wrong moment they will use an invalid ID and cause a protocol error. The current best thing to do is to announce the removal then remove the global (and thus the ID) only after a delay. Non-ideal, but better than nothing.

Pragmatically this affects: Blur/Contrast/Output/OutputDevice

This deferred removal is not needed when closing the compositor so is exposed via opt-in API.

See https://gitlab.freedesktop.org/wayland/wayland/issues/10 for more.


I hope merge the changes into QtWayland before pushing here, but I thought we could do reviews in parallel.

Merge request reports