[PATCH weston] compositor-rpi: Fix input initialization
pochu27 at gmail.com
pochu27 at gmail.com
Mon Feb 3 07:57:27 PST 2014
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, ¶m->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);
--
1.8.5.3
More information about the wayland-devel
mailing list