[PATCH v2 wayland 1/3] shm: Deprecate wl_shm_buffer_create()
Giulio Camuffo
giuliocamuffo at gmail.com
Fri Nov 6 00:29:56 PST 2015
For the whole series:
Reviewed-by: Giulio Camuffo <giuliocamuffo at gmail.com>
2015-11-05 21:57 GMT+02:00 Derek Foreman <derekf at osg.samsung.com>:
> From irc:
> <pq> it creates a wl_buffer object in a way that no client can ever
> access the storage.
>
> So, let's replace it with return NULL; and mark it with attribute
> deprecated in the header.
>
> Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
> Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
> ---
>
> Change from v1: return NULL instead of abort()ing
>
> src/wayland-server-core.h | 2 +-
> src/wayland-shm.c | 29 +----------------------------
> 2 files changed, 2 insertions(+), 29 deletions(-)
>
> diff --git a/src/wayland-server-core.h b/src/wayland-server-core.h
> index 73f2dd2..85b4b9e 100644
> --- a/src/wayland-server-core.h
> +++ b/src/wayland-server-core.h
> @@ -472,7 +472,7 @@ wl_display_add_shm_format(struct wl_display *display, uint32_t format);
> struct wl_shm_buffer *
> wl_shm_buffer_create(struct wl_client *client,
> uint32_t id, int32_t width, int32_t height,
> - int32_t stride, uint32_t format);
> + int32_t stride, uint32_t format) WL_DEPRECATED;
>
> void wl_log_set_handler_server(wl_log_func_t handler);
>
> diff --git a/src/wayland-shm.c b/src/wayland-shm.c
> index 1ab8f89..a05a8a0 100644
> --- a/src/wayland-shm.c
> +++ b/src/wayland-shm.c
> @@ -319,34 +319,7 @@ wl_shm_buffer_create(struct wl_client *client,
> uint32_t id, int32_t width, int32_t height,
> int32_t stride, uint32_t format)
> {
> - struct wl_shm_buffer *buffer;
> -
> - if (!format_is_supported(client, format))
> - return NULL;
> -
> - buffer = malloc(sizeof *buffer + stride * height);
> - if (buffer == NULL)
> - return NULL;
> -
> - buffer->width = width;
> - buffer->height = height;
> - buffer->format = format;
> - buffer->stride = stride;
> - buffer->offset = 0;
> - buffer->pool = NULL;
> -
> - buffer->resource =
> - wl_resource_create(client, &wl_buffer_interface, 1, id);
> - if (buffer->resource == NULL) {
> - free(buffer);
> - return NULL;
> - }
> -
> - wl_resource_set_implementation(buffer->resource,
> - &shm_buffer_interface,
> - buffer, destroy_buffer);
> -
> - return buffer;
> + return NULL;
> }
>
> WL_EXPORT struct wl_shm_buffer *
> --
> 2.6.1
>
More information about the wayland-devel
mailing list