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:
parent
ba52e5eb0e
commit
37779d7f40
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue