Use wl_display_bind() for binding to globals
This commit is contained in:
@@ -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");
|
||||||
|
|||||||
Reference in New Issue
Block a user