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:
parent
8cd0397e5b
commit
b9b33d88ed
|
@ -276,7 +276,15 @@ xwl_present_flips_stop(WindowPtr window)
|
||||||
xwl_present_free_idle_vblank(vblank);
|
xwl_present_free_idle_vblank(vblank);
|
||||||
|
|
||||||
if (xwl_present_window->flip_active) {
|
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;
|
xwl_present_window->flip_active = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue