diff options
author | Kristian Høgsberg <krh@bitplanet.net> | 2013-03-04 12:07:46 -0500 |
---|---|---|
committer | Kristian Høgsberg <krh@bitplanet.net> | 2013-03-04 12:35:19 -0500 |
commit | 2034780cb25c21e930796817f1a1b9dc17f653a3 (patch) | |
tree | 873eb52e157503ece39913e51ba50a781b23a3dd | |
parent | 63093a35ea8b04bafbfb623dcdca6180c0a70ef7 (diff) | |
download | weston-2034780cb25c21e930796817f1a1b9dc17f653a3.tar.gz |
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.
-rw-r--r-- | src/compositor.c | 17 | ||||
-rw-r--r-- | src/compositor.h | 3 |
2 files changed, 6 insertions, 14 deletions
diff --git a/src/compositor.c b/src/compositor.c index 80371956..248d3b46 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 00d3b228..4a0c1e3b 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); |