mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-28 22:57:37 +00:00
59 lines
1.8 KiB
Diff
59 lines
1.8 KiB
Diff
|
From bf539e39c15e9a4ef4479d03c52263a3f020ef4a Mon Sep 17 00:00:00 2001
|
||
|
From: Emilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>
|
||
|
Date: Mon, 03 Feb 2014 15:57:27 +0000
|
||
|
Subject: 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);
|
||
|
|
||
|
--
|
||
|
cgit v0.9.0.2-2-gbebe
|