From: Nicolas Pouillon <[email protected]>

Globals are bursted to client on conntect.  Now when new global
objects are added to the server state, existing clients also get
notified.
---
 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;
 }
 
-- 
1.7.5.4

_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to