summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@bitplanet.net>2013-03-04 12:07:46 -0500
committerKristian Høgsberg <krh@bitplanet.net>2013-03-04 12:35:19 -0500
commit2034780cb25c21e930796817f1a1b9dc17f653a3 (patch)
tree873eb52e157503ece39913e51ba50a781b23a3dd
parent63093a35ea8b04bafbfb623dcdca6180c0a70ef7 (diff)
downloadweston-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.c17
-rw-r--r--src/compositor.h3
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);