Use wl_global_remove in libweston
Instead of having core, plugins, whatever call wl_global_create()
and wl_global_destroy()
directly, offer an API that wraps a struct wl_global
and uses wl_global_remove()
from wayland!28 (merged) under the hood to prevent clients racing with the removal. Naturally this requires tracking the new structs in struct weston_compositor
and the associated timeout to finally destroy them after removal.
Use this new API for all wl_global
s everywhere in the Weston repository.