[PATCH v2 wayland 1/3] shm: Deprecate wl_shm_buffer_create()

Derek Foreman derekf at osg.samsung.com
Thu Nov 5 11:57:45 PST 2015


>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