Update compositor shutdown code
Adds a general wlsc_compositor_shutdown() function that all output
backends call when shutting down. wlsc_compositor_shutdown() will call
a new 'destroy' method of each output to perform backend-specific
cleanup (e.g., turning off the hardware cursor in the DRM compositor).
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
diff --git a/compositor/compositor-x11.c b/compositor/compositor-x11.c
index 0825f1a..f959e78 100644
--- a/compositor/compositor-x11.c
+++ b/compositor/compositor-x11.c
@@ -209,6 +209,11 @@
return -1;
}
+static void
+x11_output_destroy(struct wlsc_output *output_base)
+{
+ return;
+}
static void
x11_output_set_wm_protocols(struct x11_output *output)
@@ -408,6 +413,7 @@
output->base.prepare_scanout_surface =
x11_output_prepare_scanout_surface;
output->base.set_hardware_cursor = x11_output_set_cursor;
+ output->base.destroy = x11_output_destroy;
wl_list_insert(c->base.output_list.prev, &output->base.link);
@@ -679,6 +685,8 @@
static void
x11_destroy(struct wlsc_compositor *ec)
{
+ wlsc_compositor_shutdown(ec);
+
free(ec);
}