Convert the manual reference handling into weston_buffer_reference() calls.
Signed-off-by: Pekka Paalanen <[email protected]> --- src/compositor-drm.c | 12 ++++-------- 1 files changed, 4 insertions(+), 8 deletions(-) diff --git a/src/compositor-drm.c b/src/compositor-drm.c index 142faa5..923b3b2 100644 --- a/src/compositor-drm.c +++ b/src/compositor-drm.c @@ -208,10 +208,8 @@ drm_fb_destroy_callback(struct gbm_bo *bo, void *data) if (fb->fb_id) drmModeRmFB(gbm_device_get_fd(gbm), fb->fb_id); - if (fb->buffer) { - weston_buffer_post_release(fb->buffer); - wl_list_remove(&fb->buffer_destroy_listener.link); - } + weston_buffer_reference(&fb->buffer, NULL, + &fb->buffer_destroy_listener); free(data); } @@ -297,12 +295,10 @@ drm_fb_set_buffer(struct drm_fb *fb, struct wl_buffer *buffer) assert(fb->buffer == NULL); fb->is_client_buffer = 1; - fb->buffer = buffer; - fb->buffer->busy_count++; fb->buffer_destroy_listener.notify = fb_handle_buffer_destroy; - wl_signal_add(&fb->buffer->resource.destroy_signal, - &fb->buffer_destroy_listener); + weston_buffer_reference(&fb->buffer, buffer, + &fb->buffer_destroy_listener); } static struct weston_plane * -- 1.7.8.6 _______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
