Signed-off-by: Jason Ekstrand <ja...@jlekstrand.net> --- src/compositor.c | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-)
diff --git a/src/compositor.c b/src/compositor.c index 2f178fd..f1ff516 100644 --- a/src/compositor.c +++ b/src/compositor.c @@ -1002,7 +1002,7 @@ weston_surface_unmap(struct weston_surface *surface) } struct weston_frame_callback { - struct wl_resource resource; + struct wl_resource *resource; struct wl_list link; }; @@ -1027,7 +1027,7 @@ weston_surface_destroy(struct weston_surface *surface) wl_list_for_each_safe(cb, next, &surface->pending.frame_callback_list, link) - wl_resource_destroy(&cb->resource); + wl_resource_destroy(cb->resource); pixman_region32_fini(&surface->pending.input); pixman_region32_fini(&surface->pending.opaque); @@ -1047,7 +1047,7 @@ weston_surface_destroy(struct weston_surface *surface) pixman_region32_fini(&surface->input); wl_list_for_each_safe(cb, next, &surface->frame_callback_list, link) - wl_resource_destroy(&cb->resource); + wl_resource_destroy(cb->resource); weston_surface_set_transform_parent(surface, NULL); @@ -1304,8 +1304,8 @@ weston_output_repaint(struct weston_output *output, uint32_t msecs) wl_event_loop_dispatch(ec->input_loop, 0); wl_list_for_each_safe(cb, cnext, &frame_callback_list, link) { - wl_callback_send_done(&cb->resource, msecs); - wl_resource_destroy(&cb->resource); + wl_callback_send_done(cb->resource, msecs); + wl_resource_destroy(cb->resource); } wl_list_for_each_safe(animation, next, &output->animation_list, link) { @@ -1444,7 +1444,7 @@ surface_damage(struct wl_client *client, static void destroy_frame_callback(struct wl_resource *resource) { - struct weston_frame_callback *cb = resource->data; + struct weston_frame_callback *cb = wl_resource_get_user_data(resource); wl_list_remove(&cb->link); free(cb); @@ -1463,13 +1463,10 @@ surface_frame(struct wl_client *client, return; } - cb->resource.object.interface = &wl_callback_interface; - cb->resource.object.id = callback; - cb->resource.destroy = destroy_frame_callback; - cb->resource.client = client; - cb->resource.data = cb; + cb->resource = wl_client_add_object(client, &wl_callback_interface, + NULL, callback, cb); + wl_resource_set_destructor(cb->resource, destroy_frame_callback); - wl_client_add_resource(client, &cb->resource); wl_list_insert(surface->pending.frame_callback_list.prev, &cb->link); } @@ -2126,7 +2123,7 @@ weston_subsurface_cache_fini(struct weston_subsurface *sub) struct weston_frame_callback *cb, *tmp; wl_list_for_each_safe(cb, tmp, &sub->cached.frame_callback_list, link) - wl_resource_destroy(&cb->resource); + wl_resource_destroy(cb->resource); weston_buffer_reference(&sub->cached.buffer_ref, NULL); pixman_region32_fini(&sub->cached.damage); -- 1.8.1.4 _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel