Use wl_display_bind() for binding to globals

This commit is contained in:
Kristian Høgsberg
2011-08-19 14:41:57 -04:00
parent d9551a3377
commit f790c79ec7
6 changed files with 29 additions and 17 deletions
+10 -5
View File
@@ -453,7 +453,8 @@ display_add_input(struct wayland_compositor *c, uint32_t id)
memset(input, 0, sizeof *input);
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_input_device_add_listener(input->input_device,
@@ -470,7 +471,8 @@ compositor_handle_visual(void *data,
switch (token) {
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;
}
}
@@ -486,16 +488,19 @@ display_handle_global(struct wl_display *display, uint32_t id,
struct wayland_compositor *c = data;
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,
&compositor_listener, c);
} 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);
} else if (strcmp(interface, "wl_input_device") == 0) {
display_add_input(c, id);
} 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);
}
}
+3 -2
View File
@@ -1655,14 +1655,15 @@ wlsc_input_device_init(struct wlsc_input_device *device,
}
static void
wlsc_output_post_geometry(struct wl_client *client,
struct wl_object *global, uint32_t version)
wlsc_output_post_geometry(struct wl_client *client, struct wl_object *global,
uint32_t version, uint32_t id)
{
struct wlsc_output *output =
container_of(global, struct wlsc_output, resource.object);
struct wlsc_mode *mode;
output->resource.client = client;
output->resource.object.id = id;
wl_resource_post_event(&output->resource,
WL_OUTPUT_GEOMETRY,
output->x,
+2 -1
View File
@@ -623,7 +623,7 @@ meego_tablet_shell_set_selection_focus(struct wlsc_shell *shell,
static void
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 =
container_of(global,
@@ -635,6 +635,7 @@ bind_shell(struct wl_client *client,
return;
shell->resource.client = client;
shell->resource.object.id = id;
}
void
+2 -1
View File
@@ -460,7 +460,7 @@ wlsc_wm_destroy(struct wlsc_wm *wm)
static void
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 =
container_of(global, struct wlsc_xserver,
@@ -471,6 +471,7 @@ wlsc_xserver_bind(struct wl_client *client,
if (client != wxs->xserver.resource.client)
return;
wxs->xserver.resource.object.id = id;
wxs->wm = wlsc_wm_create(wxs);
if (wxs == NULL) {
fprintf(stderr, "failed to create wm\n");