summaryrefslogtreecommitdiffstats
path: root/recipes-graphics
diff options
context:
space:
mode:
authorTom Hochstein <tom.hochstein@nxp.com>2017-01-16 13:52:24 -0600
committerOtavio Salvador <otavio@ossystems.com.br>2017-01-23 16:55:31 -0200
commita9184abc1842cbecadd754c2d6bc8e32d7cdf5f1 (patch)
tree996a7896a2a6ecfba6795720caa35fa5add008e1 /recipes-graphics
parent12a51ab3c33a9d27f21b6f5975382d1501317324 (diff)
downloadmeta-freescale-a9184abc1842cbecadd754c2d6bc8e32d7cdf5f1.tar.gz
weston: xwayland: Fix crash when run with no input device
Starting an xterm with no input device led to a crash because weston_wm_pick_seat() was returning garbage and weston_wm_selection_init() was trying to use the garbage. Upstream-Status: Accepted [https://cgit.freedesktop.org/wayland/weston/commit/?id=e7fff215ada3fd3d1b2af664888f960c082f9065] Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Diffstat (limited to 'recipes-graphics')
-rw-r--r--recipes-graphics/wayland/weston/0019-xwayland-Fix-crash-when-run-with-no-input-device.patch45
-rw-r--r--recipes-graphics/wayland/weston_%.bbappend4
2 files changed, 49 insertions, 0 deletions
diff --git a/recipes-graphics/wayland/weston/0019-xwayland-Fix-crash-when-run-with-no-input-device.patch b/recipes-graphics/wayland/weston/0019-xwayland-Fix-crash-when-run-with-no-input-device.patch
new file mode 100644
index 00000000..1304cef2
--- /dev/null
+++ b/recipes-graphics/wayland/weston/0019-xwayland-Fix-crash-when-run-with-no-input-device.patch
@@ -0,0 +1,45 @@
1From 60f8817f371123b9c36b3ff1120eec1e8f9e3d10 Mon Sep 17 00:00:00 2001
2From: Tom Hochstein <tom.hochstein@nxp.com>
3Date: Mon, 31 Oct 2016 19:21:58 -0500
4Subject: [PATCH weston] xwayland: Fix crash when run with no input device
5
6Starting an xterm with no input device led to a crash
7because weston_wm_pick_seat() was returning garbage and
8weston_wm_selection_init() was trying to use the garbage.
9
10Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
11---
12 xwayland/selection.c | 10 +++++++---
13 xwayland/window-manager.c | 6 ++++--
14 2 files changed, 11 insertions(+), 5 deletions(-)
15
16Index: weston-1.11.0/xwayland/selection.c
17===================================================================
18--- weston-1.11.0.orig/xwayland/selection.c 2016-05-19 16:36:04.000000000 -0500
19+++ weston-1.11.0/xwayland/selection.c 2016-11-01 14:32:48.000000000 -0500
20@@ -708,6 +708,8 @@
21 wm->atom.clipboard, mask);
22
23 seat = weston_wm_pick_seat(wm);
24+ if (seat != NULL)
25+ return;
26 wm->selection_listener.notify = weston_wm_set_selection;
27 wl_signal_add(&seat->selection_signal, &wm->selection_listener);
28
29Index: weston-1.11.0/xwayland/window-manager.c
30===================================================================
31--- weston-1.11.0.orig/xwayland/window-manager.c 2016-05-19 16:36:04.000000000 -0500
32+++ weston-1.11.0/xwayland/window-manager.c 2016-11-01 11:47:14.549606964 -0500
33@@ -1303,8 +1303,10 @@
34 struct weston_seat *
35 weston_wm_pick_seat(struct weston_wm *wm)
36 {
37- return container_of(wm->server->compositor->seat_list.next,
38- struct weston_seat, link);
39+ struct wl_list *seats = wm->server->compositor->seat_list.next;
40+ if (wl_list_empty(seats))
41+ return NULL;
42+ return container_of(seats, struct weston_seat, link);
43 }
44
45 static struct weston_seat *
diff --git a/recipes-graphics/wayland/weston_%.bbappend b/recipes-graphics/wayland/weston_%.bbappend
index 8a47ba52..dfd7da44 100644
--- a/recipes-graphics/wayland/weston_%.bbappend
+++ b/recipes-graphics/wayland/weston_%.bbappend
@@ -19,6 +19,10 @@ SRC_URI_append_imxgpu3d = " \
19 file://0018-MGS-2397-ccc-Enable-double-buffer-with-fb_pan_displa.patch \ 19 file://0018-MGS-2397-ccc-Enable-double-buffer-with-fb_pan_displa.patch \
20" 20"
21 21
22SRC_URI_append = " \
23 file://0019-xwayland-Fix-crash-when-run-with-no-input-device.patch \
24"
25
22# The 'egl' configuration of weston requires gles support, and consideration 26# The 'egl' configuration of weston requires gles support, and consideration
23# must be taken for the different SoC capabilities: 27# must be taken for the different SoC capabilities:
24# - For SoCs with 3d support, imx-gpu-viv provides hardware-accelerated 28# - For SoCs with 3d support, imx-gpu-viv provides hardware-accelerated