Use wl_display_bind() for binding to globals

dev
Kristian Høgsberg 13 years ago
parent d9551a3377
commit f790c79ec7
  1. 7
      clients/simple-egl.c
  2. 13
      clients/simple-shm.c
  3. 15
      compositor/compositor-wayland.c
  4. 5
      compositor/compositor.c
  5. 3
      compositor/meego-tablet-shell.c
  6. 3
      compositor/xserver-launcher.c

@ -299,7 +299,7 @@ compositor_handle_visual(void *data,
switch (token) { switch (token) {
case WL_COMPOSITOR_VISUAL_PREMULTIPLIED_ARGB32: case WL_COMPOSITOR_VISUAL_PREMULTIPLIED_ARGB32:
d->premultiplied_argb_visual = d->premultiplied_argb_visual =
wl_visual_create(d->display, id, 1); wl_display_bind(d->display, id, &wl_visual_interface);
break; break;
} }
} }
@ -315,11 +315,12 @@ display_handle_global(struct wl_display *display, uint32_t id,
struct display *d = data; struct display *d = data;
if (strcmp(interface, "wl_compositor") == 0) { if (strcmp(interface, "wl_compositor") == 0) {
d->compositor = wl_compositor_create(display, id, 1); d->compositor =
wl_display_bind(display, id, &wl_compositor_interface);
wl_compositor_add_listener(d->compositor, wl_compositor_add_listener(d->compositor,
&compositor_listener, d); &compositor_listener, d);
} else if (strcmp(interface, "wl_shell") == 0) { } else if (strcmp(interface, "wl_shell") == 0) {
d->shell = wl_shell_create(display, id, 1); d->shell = wl_display_bind(display, id, &wl_shell_interface);
} }
} }

@ -152,7 +152,8 @@ compositor_handle_visual(void *data,
switch (token) { switch (token) {
case WL_COMPOSITOR_VISUAL_XRGB32: case WL_COMPOSITOR_VISUAL_XRGB32:
d->xrgb_visual = wl_visual_create(d->display, id, 1); d->xrgb_visual = wl_display_bind(d->display,
id, &wl_visual_interface);
break; break;
} }
} }
@ -168,13 +169,14 @@ display_handle_global(struct wl_display *display, uint32_t id,
struct display *d = data; struct display *d = data;
if (strcmp(interface, "wl_compositor") == 0) { if (strcmp(interface, "wl_compositor") == 0) {
d->compositor = wl_compositor_create(display, id, 1); d->compositor =
wl_display_bind(display, id, &wl_compositor_interface);
wl_compositor_add_listener(d->compositor, wl_compositor_add_listener(d->compositor,
&compositor_listener, d); &compositor_listener, d);
} else if (strcmp(interface, "wl_shell") == 0) { } else if (strcmp(interface, "wl_shell") == 0) {
d->shell = wl_shell_create(display, id, 1); d->shell = wl_display_bind(display, id, &wl_shell_interface);
} else if (strcmp(interface, "wl_shm") == 0) { } else if (strcmp(interface, "wl_shm") == 0) {
d->shm = wl_shm_create(display, id, 1); d->shm = wl_display_bind(display, id, &wl_shm_interface);
} }
} }
@ -192,6 +194,7 @@ static struct display *
create_display(void) create_display(void)
{ {
struct display *display; struct display *display;
int i;
display = malloc(sizeof *display); display = malloc(sizeof *display);
display->display = wl_display_connect(NULL); display->display = wl_display_connect(NULL);
@ -203,7 +206,7 @@ create_display(void)
wl_display_get_fd(display->display, event_mask_update, display); wl_display_get_fd(display->display, event_mask_update, display);
while (!display->xrgb_visual) while (display->xrgb_visual)
wl_display_roundtrip(display->display); wl_display_roundtrip(display->display);
return display; return display;

@ -453,7 +453,8 @@ display_add_input(struct wayland_compositor *c, uint32_t id)
memset(input, 0, sizeof *input); memset(input, 0, sizeof *input);
input->compositor = c; input->compositor = c;
input->input_device = wl_input_device_create(c->parent.display, id, 1); input->input_device = wl_display_bind(c->parent.display,
id, &wl_input_device_interface);
wl_list_insert(c->input_list.prev, &input->link); wl_list_insert(c->input_list.prev, &input->link);
wl_input_device_add_listener(input->input_device, wl_input_device_add_listener(input->input_device,
@ -470,7 +471,8 @@ compositor_handle_visual(void *data,
switch (token) { switch (token) {
case WL_COMPOSITOR_VISUAL_ARGB32: case WL_COMPOSITOR_VISUAL_ARGB32:
c->parent.visual = wl_visual_create(c->parent.display, id, 1); c->parent.visual = wl_display_bind(c->parent.display,
id, &wl_visual_interface);
break; break;
} }
} }
@ -486,16 +488,19 @@ display_handle_global(struct wl_display *display, uint32_t id,
struct wayland_compositor *c = data; struct wayland_compositor *c = data;
if (strcmp(interface, "wl_compositor") == 0) { if (strcmp(interface, "wl_compositor") == 0) {
c->parent.compositor = wl_compositor_create(display, id, 1); c->parent.compositor =
wl_display_bind(display, id, &wl_compositor_interface);
wl_compositor_add_listener(c->parent.compositor, wl_compositor_add_listener(c->parent.compositor,
&compositor_listener, c); &compositor_listener, c);
} else if (strcmp(interface, "wl_output") == 0) { } else if (strcmp(interface, "wl_output") == 0) {
c->parent.output = wl_output_create(display, id, 1); c->parent.output =
wl_display_bind(display, id, &wl_output_interface);
wl_output_add_listener(c->parent.output, &output_listener, c); wl_output_add_listener(c->parent.output, &output_listener, c);
} else if (strcmp(interface, "wl_input_device") == 0) { } else if (strcmp(interface, "wl_input_device") == 0) {
display_add_input(c, id); display_add_input(c, id);
} else if (strcmp(interface, "wl_shell") == 0) { } else if (strcmp(interface, "wl_shell") == 0) {
c->parent.shell = wl_shell_create(display, id, 1); c->parent.shell =
wl_display_bind(display, id, &wl_shell_interface);
wl_shell_add_listener(c->parent.shell, &shell_listener, c); wl_shell_add_listener(c->parent.shell, &shell_listener, c);
} }
} }

@ -1655,14 +1655,15 @@ wlsc_input_device_init(struct wlsc_input_device *device,
} }
static void static void
wlsc_output_post_geometry(struct wl_client *client, wlsc_output_post_geometry(struct wl_client *client, struct wl_object *global,
struct wl_object *global, uint32_t version) uint32_t version, uint32_t id)
{ {
struct wlsc_output *output = struct wlsc_output *output =
container_of(global, struct wlsc_output, resource.object); container_of(global, struct wlsc_output, resource.object);
struct wlsc_mode *mode; struct wlsc_mode *mode;
output->resource.client = client; output->resource.client = client;
output->resource.object.id = id;
wl_resource_post_event(&output->resource, wl_resource_post_event(&output->resource,
WL_OUTPUT_GEOMETRY, WL_OUTPUT_GEOMETRY,
output->x, output->x,

@ -623,7 +623,7 @@ meego_tablet_shell_set_selection_focus(struct wlsc_shell *shell,
static void static void
bind_shell(struct wl_client *client, bind_shell(struct wl_client *client,
struct wl_object *global, uint32_t version) struct wl_object *global, uint32_t version, uint32_t id)
{ {
struct meego_tablet_shell *shell = struct meego_tablet_shell *shell =
container_of(global, container_of(global,
@ -635,6 +635,7 @@ bind_shell(struct wl_client *client,
return; return;
shell->resource.client = client; shell->resource.client = client;
shell->resource.object.id = id;
} }
void void

@ -460,7 +460,7 @@ wlsc_wm_destroy(struct wlsc_wm *wm)
static void static void
wlsc_xserver_bind(struct wl_client *client, wlsc_xserver_bind(struct wl_client *client,
struct wl_object *global, uint32_t version) struct wl_object *global, uint32_t version, uint32_t id)
{ {
struct wlsc_xserver *wxs = struct wlsc_xserver *wxs =
container_of(global, struct wlsc_xserver, container_of(global, struct wlsc_xserver,
@ -471,6 +471,7 @@ wlsc_xserver_bind(struct wl_client *client,
if (client != wxs->xserver.resource.client) if (client != wxs->xserver.resource.client)
return; return;
wxs->xserver.resource.object.id = id;
wxs->wm = wlsc_wm_create(wxs); wxs->wm = wlsc_wm_create(wxs);
if (wxs == NULL) { if (wxs == NULL) {
fprintf(stderr, "failed to create wm\n"); fprintf(stderr, "failed to create wm\n");

Loading…
Cancel
Save