[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