server: Allocate server ID for when resource->object.id is 0
authorKristian Høgsberg <krh@bitplanet.net>
Wed, 4 Jan 2012 14:13:27 +0000 (09:13 -0500)
committerKristian Høgsberg <krh@bitplanet.net>
Wed, 4 Jan 2012 14:13:27 +0000 (09:13 -0500)
src/wayland-server.c

index 1e97e7b..0cd8b74 100644 (file)
@@ -322,9 +322,16 @@ WL_EXPORT void
 wl_client_add_resource(struct wl_client *client,
                       struct wl_resource *resource)
 {
+       if (resource->object.id == 0)
+               resource->object.id =
+                       wl_map_insert_new(&client->objects,
+                                         WL_MAP_SERVER_SIDE, resource);
+       else
+               wl_map_insert_at(&client->objects,
+                                resource->object.id, resource);
+
        resource->client = client;
        wl_list_init(&resource->destroy_listener_list);
-       wl_map_insert_at(&client->objects, resource->object.id, resource);
 }
 
 WL_EXPORT void