libweston: Implement wl_output version 3 (release request)
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Reviewed-by: Emre Ucan <eucan@de.adit-jv.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
diff --git a/libweston/compositor.c b/libweston/compositor.c
index 783ff7e..2eb3a3b 100644
--- a/libweston/compositor.c
+++ b/libweston/compositor.c
@@ -4018,6 +4018,17 @@
wl_list_insert(&ec->plane_list, &plane->link);
}
+static void
+output_release(struct wl_client *client, struct wl_resource *resource)
+{
+ wl_resource_destroy(resource);
+}
+
+static const struct wl_output_interface output_interface = {
+ output_release,
+};
+
+
static void unbind_resource(struct wl_resource *resource)
{
wl_list_remove(wl_resource_get_link(resource));
@@ -4039,7 +4050,7 @@
}
wl_list_insert(&output->resource_list, wl_resource_get_link(resource));
- wl_resource_set_implementation(resource, NULL, data, unbind_resource);
+ wl_resource_set_implementation(resource, &output_interface, data, unbind_resource);
wl_output_send_geometry(resource,
output->x,
@@ -4312,7 +4323,7 @@
output->compositor->output_id_pool |= 1u << output->id;
output->global =
- wl_global_create(c->wl_display, &wl_output_interface, 2,
+ wl_global_create(c->wl_display, &wl_output_interface, 3,
output, bind_output);
}