Skip to content

server: introduce wl_signal_emit_mutable

Simon Ser requested to merge emersion/wayland:signal-emit-mutable into main

wl_signal_emit doesn't handle well situations where a listener removes another listener. This can happen in practice: wlroots and Weston 1 both have private helpers to workaround this defect.

wl_signal_emit can't be fixed without breaking the API. Instead, introduce a new function. Callers need to make sure to always remove listeners when they are free'd.

Signed-off-by: Simon Ser contact@emersion.fr Signed-off-by: Alexandros Frantzis alexandros.frantzis@collabora.com

Merge request reports