xwayland/present: Do not send two idle notify events for flip pixmaps

Could happen if the buffer release event was already processed before
xwl_present_flips_stop.

Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1351
Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
This commit is contained in:
Michel Dänzer 2022-06-15 15:54:29 +02:00 committed by Michel Dänzer
parent 8cd0397e5b
commit b9b33d88ed

View File

@ -276,7 +276,15 @@ xwl_present_flips_stop(WindowPtr window)
xwl_present_free_idle_vblank(vblank);
if (xwl_present_window->flip_active) {
xwl_present_free_idle_vblank(xwl_present_window->flip_active);
struct xwl_present_event *event;
vblank = xwl_present_window->flip_active;
event = xwl_present_event_from_id((uintptr_t)vblank);
if (event->pixmap)
xwl_present_free_idle_vblank(vblank);
else
xwl_present_free_event(event);
xwl_present_window->flip_active = NULL;
}