Skip to content

event-loop: always dispatch checked sources after idle sources

wl_event_loop_dispatch dispatches idle sources before blocking. Idle sources may perform actions that require dispatching sources marked with wl_event_source_check. For instance, sending Wayland requests to a remote compositor will push bytes to libwayland's outgoing buffer. However wl_event_loop_dispatch will then block without flushing the bytes to the FD.

To fix this, call post_dispatch_check before blocking if any idle source was triggered.

Signed-off-by: Simon Ser contact@emersion.fr Closes: #187

Edited by Simon Ser

Merge request reports