fade animation on window close delays presentation feedback notifications
When as "fade" is configured as window close animation then the code in desktop-shell/shell.c
will take a reference on the applications surface via weston_surface_ref
that keeps the surface alive.
This surface is kept alive until the fadeout animation has played completely.
However the lifetime of the surface also controls the feedback presentation events. Especially the discard
event is not sent (in compositor.c
) until the surface is destroyed in the compositor.
This breaks the usecase where a wl_surface_destroy()
is followed by a wl_display_roundtrip()
to receive the presentation events.
As the presentation events are managing objects in the client these events have to be handled to avoid leaking resources.