package/weston: un-break the rpi-compositor
The rpi-compositor was broken with the 1.4.0 release, but we now have a fix from upstream. Add this patch, and remove the 'depends on BROKEN'. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
parent
7122e6a7f4
commit
2e66e26aa6
@ -41,7 +41,6 @@ comment "RPi compositor needs a toolchain w/ C++, largefile, threads"
|
||||
|
||||
config BR2_PACKAGE_WESTON_RPI
|
||||
bool "RPi compositor"
|
||||
depends on BROKEN # rpi-backend broken in 1.4.0
|
||||
depends on BR2_arm # rpi-userland
|
||||
depends on BR2_INSTALL_LIBSTDCPP # rpi-userland
|
||||
depends on BR2_LARGEFILE # rpi-userland
|
||||
|
@ -0,0 +1,57 @@
|
||||
commit bf539e39c15e9a4ef4479d03c52263a3f020ef4a
|
||||
Author: Emilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>
|
||||
Date: Mon Feb 3 16:57:27 2014 +0100
|
||||
|
||||
compositor-rpi: Fix input initialization
|
||||
|
||||
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.
|
||||
|
||||
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);
|
||||
|
Loading…
Reference in New Issue
Block a user