[PATCH weston] compositor-rpi: Fix input initialization

Pekka Paalanen ppaalanen at gmail.com
Tue Feb 4 22:40:12 PST 2014


On Mon,  3 Feb 2014 16:57:27 +0100
pochu27 at gmail.com wrote:

> From: Emilio Pozuelo Monfort <emilio.pozuelo at collabora.co.uk>
> 
> The input initialization code assumes the outputs have already
> been initialized; thus create the outputs first. This fixes a
> segfault upon startup. It is also what the drm and fbdev backends
> do.
> ---
>  src/compositor-rpi.c | 19 ++++++++-----------
>  1 file changed, 8 insertions(+), 11 deletions(-)
> 
> diff --git a/src/compositor-rpi.c b/src/compositor-rpi.c
> index 399090d..e7c0e0d 100644
> --- a/src/compositor-rpi.c
> +++ b/src/compositor-rpi.c
> @@ -527,13 +527,6 @@ rpi_compositor_create(struct wl_display
> *display, int *argc, char *argv[], weston_log("Dispmanx planes are %s
> buffered.\n", compositor->single_buffer ? "single" : "double");
>  
> -	if (udev_input_init(&compositor->input,
> -			    &compositor->base,
> -			    compositor->udev, "seat0") != 0) {
> -		weston_log("Failed to initialize udev input.\n");
> -		goto out_launcher;
> -	}
> -
>  	for (key = KEY_F1; key < KEY_F9; key++)
>  		weston_compositor_add_key_binding(&compositor->base,
> key, MODIFIER_CTRL | MODIFIER_ALT,
> @@ -549,19 +542,23 @@ rpi_compositor_create(struct wl_display
> *display, int *argc, char *argv[], bcm_host_init();
>  
>  	if (rpi_renderer_create(&compositor->base, &param->renderer)
> < 0)
> -		goto out_udev_input;
> +		goto out_launcher;
>  
>  	if (rpi_output_create(compositor, param->output_transform) <
> 0) goto out_renderer;
>  
> +	if (udev_input_init(&compositor->input,
> +			    &compositor->base,
> +			    compositor->udev, "seat0") != 0) {
> +		weston_log("Failed to initialize udev input.\n");
> +		goto out_renderer;
> +	}
> +
>  	return &compositor->base;
>  
>  out_renderer:
>  	compositor->base.renderer->destroy(&compositor->base);
>  
> -out_udev_input:
> -	udev_input_destroy(&compositor->input);
> -
>  out_launcher:
>  	weston_launcher_destroy(compositor->base.launcher);
>  

Hi Kristian,

this would be nice to have in both master and 1.4, so that weston can
even start on rpi. The patch is ok by me.


Thanks,
pq


More information about the wayland-devel mailing list