diff options
| author | Kristian Høgsberg <krh@bitplanet.net> | 2012-01-04 09:13:27 -0500 |
|---|---|---|
| committer | Kristian Høgsberg <krh@bitplanet.net> | 2012-01-04 09:13:27 -0500 |
| commit | 44b529f2e4b953206908f73842ca76d246f715d0 (patch) | |
| tree | d61d99e5301872645f6ac7487576dd22552f34c9 /src | |
| parent | server: remove wl_display::callback_list as unused (diff) | |
| download | wayland-44b529f2e4b953206908f73842ca76d246f715d0.tar wayland-44b529f2e4b953206908f73842ca76d246f715d0.tar.gz wayland-44b529f2e4b953206908f73842ca76d246f715d0.tar.bz2 wayland-44b529f2e4b953206908f73842ca76d246f715d0.tar.lz wayland-44b529f2e4b953206908f73842ca76d246f715d0.tar.xz wayland-44b529f2e4b953206908f73842ca76d246f715d0.tar.zst wayland-44b529f2e4b953206908f73842ca76d246f715d0.zip | |
server: Allocate server ID for when resource->object.id is 0
Diffstat (limited to 'src')
| -rw-r--r-- | src/wayland-server.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/wayland-server.c b/src/wayland-server.c index 1e97e7b..0cd8b74 100644 --- a/src/wayland-server.c +++ b/src/wayland-server.c @@ -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 |
