server: Pass struct wl_resource for object references

This commit is contained in:
Kristian Høgsberg 2011-08-27 12:05:09 -04:00
parent 990809c063
commit b15259bff4
2 changed files with 7 additions and 2 deletions

View file

@ -526,7 +526,11 @@ emit_structs(struct wl_list *message_list, struct interface *interface)
wl_list_for_each(a, &m->arg_list, link) {
printf(",\n%s", indent(n));
emit_type(a);
if (is_interface && a->type == OBJECT)
printf("struct wl_resource *");
else
emit_type(a);
printf("%s", a->name);
}

View file

@ -115,10 +115,11 @@ wl_shm_buffer_init(struct wl_shm *shm, struct wl_client *client, uint32_t id,
static void
shm_create_buffer(struct wl_client *client, struct wl_resource *resource,
uint32_t id, int fd, int32_t width, int32_t height,
uint32_t stride, struct wl_visual *visual)
uint32_t stride, struct wl_resource *visual_resource)
{
struct wl_shm *shm = resource->data;
struct wl_shm_buffer *buffer;
struct wl_visual *visual = visual_resource->data;
void *data;
if (!visual || visual->object.interface != &wl_visual_interface) {