[PATCH] server: Post new globals to current clients

npouillon at freebox.fr npouillon at freebox.fr
Tue May 1 23:46:47 PDT 2012


From: Nicolas Pouillon <npouillon at freebox.fr>

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



More information about the wayland-devel mailing list