server: Post new globals to current clients

Globals are bursted to client on conntect.  Now when new global
objects are added to the server state, existing clients also get
notified.
This commit is contained in:
Nicolas Pouillon 2012-05-02 08:46:47 +02:00 committed by Kristian Høgsberg
parent 5177e76984
commit c1b6dbbacd

View file

@ -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;
}