From 2034780cb25c21e930796817f1a1b9dc17f653a3 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Kristian=20H=C3=B8gsberg?= Date: Mon, 4 Mar 2013 12:07:46 -0500 Subject: [PATCH] compositor: Fold weston_buffer_post_release into weston_buffer_reference Nothing else calls weston_buffer_post_release and the ref-counting and sending the release event is essentially what weston_buffer_reference is all about. --- src/compositor.c | 17 ++++++----------- src/compositor.h | 3 --- 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/src/compositor.c b/src/compositor.c index 8037195..248d3b4 100644 --- a/src/compositor.c +++ b/src/compositor.c @@ -998,7 +998,12 @@ weston_buffer_reference(struct weston_buffer_reference *ref, struct wl_buffer *buffer) { if (ref->buffer && buffer != ref->buffer) { - weston_buffer_post_release(ref->buffer); + ref->buffer->busy_count--; + if (ref->buffer->busy_count == 0) { + assert(ref->buffer->resource.client != NULL); + wl_resource_queue_event(&ref->buffer->resource, + WL_BUFFER_RELEASE); + } wl_list_remove(&ref->destroy_listener.link); } @@ -1044,16 +1049,6 @@ weston_compositor_damage_all(struct weston_compositor *compositor) } WL_EXPORT void -weston_buffer_post_release(struct wl_buffer *buffer) -{ - if (--buffer->busy_count > 0) - return; - - assert(buffer->resource.client != NULL); - wl_resource_queue_event(&buffer->resource, WL_BUFFER_RELEASE); -} - -WL_EXPORT void weston_output_damage(struct weston_output *output) { struct weston_compositor *compositor = output->compositor; diff --git a/src/compositor.h b/src/compositor.h index 00d3b22..4a0c1e3 100644 --- a/src/compositor.h +++ b/src/compositor.h @@ -698,9 +698,6 @@ void weston_surface_unmap(struct weston_surface *surface); void -weston_buffer_post_release(struct wl_buffer *buffer); - -void weston_buffer_reference(struct weston_buffer_reference *ref, struct wl_buffer *buffer); -- 2.7.4