xwayland: Always use xwl_present_free_event for freeing Present events

Minor cleanup, and will make the next change simpler. No functional
change intended.

Reviewed-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit 1beffba699)
This commit is contained in:
Michel Dänzer 2020-06-19 18:14:35 +02:00 committed by Olivier Fourdan
parent ba52e5eb0e
commit 37779d7f40

View File

@ -111,6 +111,13 @@ xwl_present_reset_timer(struct xwl_present_window *xwl_present_window)
} }
} }
static void
xwl_present_free_event(struct xwl_present_event *event)
{
xorg_list_del(&event->list);
free(event);
}
void void
xwl_present_cleanup(WindowPtr window) xwl_present_cleanup(WindowPtr window)
{ {
@ -128,17 +135,15 @@ xwl_present_cleanup(WindowPtr window)
} }
/* Clear remaining events */ /* Clear remaining events */
xorg_list_for_each_entry_safe(event, tmp, &xwl_present_window->event_list, list) { xorg_list_for_each_entry_safe(event, tmp, &xwl_present_window->event_list, list)
xorg_list_del(&event->list); xwl_present_free_event(event);
free(event);
}
/* Clear remaining buffer releases and inform Present about free ressources */ /* Clear remaining buffer releases and inform Present about free ressources */
event = xwl_present_window->sync_flip; event = xwl_present_window->sync_flip;
xwl_present_window->sync_flip = NULL; xwl_present_window->sync_flip = NULL;
if (event) { if (event) {
if (event->buffer_released) { if (event->buffer_released) {
free(event); xwl_present_free_event(event);
} else { } else {
event->pending = FALSE; event->pending = FALSE;
event->abort = TRUE; event->abort = TRUE;
@ -160,13 +165,6 @@ xwl_present_cleanup(WindowPtr window)
free(xwl_present_window); free(xwl_present_window);
} }
static void
xwl_present_free_event(struct xwl_present_event *event)
{
xorg_list_del(&event->list);
free(event);
}
static void static void
xwl_present_buffer_release(void *data, struct wl_buffer *buffer) xwl_present_buffer_release(void *data, struct wl_buffer *buffer)
{ {
@ -216,7 +214,7 @@ xwl_present_msc_bump(struct xwl_present_window *xwl_present_window)
/* If the buffer was already released, clean up now */ /* If the buffer was already released, clean up now */
present_wnmd_event_notify(xwl_present_window->window, event->event_id, present_wnmd_event_notify(xwl_present_window->window, event->event_id,
xwl_present_window->ust, msc); xwl_present_window->ust, msc);
free(event); xwl_present_free_event(event);
} else { } else {
xorg_list_add(&event->list, &xwl_present_window->release_queue); xorg_list_add(&event->list, &xwl_present_window->release_queue);
} }
@ -392,8 +390,7 @@ xwl_present_abort_vblank(WindowPtr present_window,
xorg_list_for_each_entry_safe(event, tmp, &xwl_present_window->event_list, list) { xorg_list_for_each_entry_safe(event, tmp, &xwl_present_window->event_list, list) {
if (event->event_id == event_id) { if (event->event_id == event_id) {
xorg_list_del(&event->list); xwl_present_free_event(event);
free(event);
return; return;
} }
} }