commit 33c78468eca63558148b64b86e2008caaefd9884
parent f84dbfae5dacd4981b1bb7d05db791a6f9cb5b73
Author: Michael Forney <mforney@mforney.org>
Date: Fri, 13 Sep 2013 00:56:59 -0700
surface: Fix versioning
Diffstat:
3 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/libswc/compositor.c b/libswc/compositor.c
@@ -350,7 +350,7 @@ static void create_surface(struct wl_client * client,
output = swc_container_of(compositor->outputs.next, typeof(*output), link);
/* Initialize surface. */
- surface = swc_surface_new(client, id);
+ surface = swc_surface_new(client, wl_resource_get_version(resource), id);
if (!surface)
{
diff --git a/libswc/surface.c b/libswc/surface.c
@@ -338,7 +338,8 @@ static void surface_destroy(struct wl_resource * resource)
*
* @return The newly allocated surface.
*/
-struct swc_surface * swc_surface_new(struct wl_client * client, uint32_t id)
+struct swc_surface * swc_surface_new(struct wl_client * client,
+ uint32_t version, uint32_t id)
{
struct swc_surface * surface;
@@ -364,7 +365,7 @@ struct swc_surface * swc_surface_new(struct wl_client * client, uint32_t id)
/* Add the surface to the client. */
surface->resource = wl_resource_create(client, &wl_surface_interface,
- 1, id);
+ version, id);
wl_resource_set_implementation(surface->resource, &surface_implementation,
surface, &surface_destroy);
diff --git a/libswc/surface.h b/libswc/surface.h
@@ -124,7 +124,8 @@ struct swc_surface
struct wl_list link;
};
-struct swc_surface * swc_surface_new(struct wl_client * client, uint32_t id);
+struct swc_surface * swc_surface_new(struct wl_client * client,
+ uint32_t version, uint32_t id);
void swc_surface_send_frame_callbacks(struct swc_surface * surface,
uint32_t time);