libweston: Send name,description, update wl_output to ver 4

These have been in wayland a while back with version 1.20.0.

We also need to update the test client helper with this bump, as
those bind to version 4.

Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
This commit is contained in:
Marius Vlad 2022-08-18 17:05:00 +03:00
parent f3bed68100
commit b749138758
3 changed files with 33 additions and 1 deletions

View file

@ -187,6 +187,12 @@ weston_mode_switch_send_events(struct weston_head *head,
if (version >= WL_OUTPUT_SCALE_SINCE_VERSION && scale_changed)
wl_output_send_scale(resource, output->current_scale);
if (version >= WL_OUTPUT_NAME_SINCE_VERSION)
wl_output_send_name(resource, head->name);
if (version >= WL_OUTPUT_DESCRIPTION_SINCE_VERSION)
wl_output_send_description(resource, head->model);
if (version >= WL_OUTPUT_DONE_SINCE_VERSION)
wl_output_send_done(resource);
}
@ -5314,6 +5320,12 @@ bind_output(struct wl_client *client,
mode->refresh);
}
if (version >= WL_OUTPUT_NAME_SINCE_VERSION)
wl_output_send_name(resource, head->name);
if (version >= WL_OUTPUT_DESCRIPTION_SINCE_VERSION)
wl_output_send_description(resource, head->model);
if (version >= WL_OUTPUT_DONE_SINCE_VERSION)
wl_output_send_done(resource);
}
@ -5322,7 +5334,7 @@ static void
weston_head_add_global(struct weston_head *head)
{
head->global = wl_global_create(head->compositor->wl_display,
&wl_output_interface, 3,
&wl_output_interface, 4,
head, bind_output);
}

View file

@ -717,6 +717,20 @@ output_handle_scale(void *data,
output->scale = scale;
}
static void
output_handle_name(void *data, struct wl_output *wl_output, const char *name)
{
struct output *output = data;
output->name = strdup(name);
}
static void
output_handle_description(void *data, struct wl_output *wl_output, const char *desc)
{
struct output *output = data;
output->name = strdup(desc);
}
static void
output_handle_done(void *data,
struct wl_output *wl_output)
@ -731,6 +745,8 @@ static const struct wl_output_listener output_listener = {
output_handle_mode,
output_handle_done,
output_handle_scale,
output_handle_name,
output_handle_description,
};
static void
@ -739,6 +755,8 @@ output_destroy(struct output *output)
assert(wl_proxy_get_version((struct wl_proxy *)output->wl_output) >= 3);
wl_output_release(output->wl_output);
wl_list_remove(&output->link);
free(output->name);
free(output->desc);
free(output);
}

View file

@ -163,6 +163,8 @@ struct output {
int height;
int scale;
int initialized;
char *name;
char *desc;
};
struct buffer {