diff options
-rw-r--r-- | src/wayland-server.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/wayland-server.c b/src/wayland-server.c index b19e05b..d0c31bf 100644 --- a/src/wayland-server.c +++ b/src/wayland-server.c @@ -838,6 +838,7 @@ wl_display_add_global(struct wl_display *display, void *data, wl_global_bind_func_t bind) { struct wl_global *global; + struct wl_client *client; global = malloc(sizeof *global); if (global == NULL) @@ -849,6 +850,13 @@ wl_display_add_global(struct wl_display *display, global->bind = bind; wl_list_insert(display->global_list.prev, &global->link); + wl_list_for_each(client, &display->client_list, link) + wl_resource_post_event(client->display_resource, + WL_DISPLAY_GLOBAL, + global->name, + global->interface->name, + global->interface->version); + return global; } |