weston: migrate x11 to head-based output API

Migrate the x11 frontend to use the new head-based output configuration
API: listen for heads_changed, and process all heads.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Ian Ray <ian.ray@ge.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Acked-by: Derek Foreman <derekf@osg.samsung.com>
This commit is contained in:
Pekka Paalanen 2017-08-17 16:54:58 +03:00
parent cd8a1a8182
commit 30465bdca6

View File

@ -1537,10 +1537,9 @@ out:
return ret; return ret;
} }
static void static int
x11_backend_output_configure(struct wl_listener *listener, void *data) x11_backend_output_configure(struct weston_output *output)
{ {
struct weston_output *output = data;
struct wet_output_config defaults = { struct wet_output_config defaults = {
.width = 1024, .width = 1024,
.height = 600, .height = 600,
@ -1548,10 +1547,7 @@ x11_backend_output_configure(struct wl_listener *listener, void *data)
.transform = WL_OUTPUT_TRANSFORM_NORMAL .transform = WL_OUTPUT_TRANSFORM_NORMAL
}; };
if (wet_configure_windowed_output_from_config(output, &defaults) < 0) return wet_configure_windowed_output_from_config(output, &defaults);
weston_log("Cannot configure output \"%s\".\n", output->name);
weston_output_enable(output);
} }
static int static int
@ -1587,6 +1583,8 @@ load_x11_backend(struct weston_compositor *c,
config.base.struct_version = WESTON_X11_BACKEND_CONFIG_VERSION; config.base.struct_version = WESTON_X11_BACKEND_CONFIG_VERSION;
config.base.struct_size = sizeof(struct weston_x11_backend_config); config.base.struct_size = sizeof(struct weston_x11_backend_config);
wet_set_simple_head_configurator(c, x11_backend_output_configure);
/* load the actual backend and configure it */ /* load the actual backend and configure it */
ret = weston_compositor_load_backend(c, WESTON_BACKEND_X11, ret = weston_compositor_load_backend(c, WESTON_BACKEND_X11,
&config.base); &config.base);
@ -1594,8 +1592,6 @@ load_x11_backend(struct weston_compositor *c,
if (ret < 0) if (ret < 0)
return ret; return ret;
wet_set_pending_output_handler(c, x11_backend_output_configure);
api = weston_windowed_output_get_api(c); api = weston_windowed_output_get_api(c);
if (!api) { if (!api) {