summaryrefslogtreecommitdiffstats
path: root/meta-agl-core
diff options
context:
space:
mode:
authorMarius Vlad <marius.vlad@collabora.com>2023-10-05 16:37:54 +0300
committerScott Murray <scott.murray@konsulko.com>2024-04-24 12:29:36 -0400
commit0dbd6c6a7f28d86b30f9ced081cbd3ce84e9ace4 (patch)
tree9e57551d46b1629a4cc88c2aff823bd1e489ae1a /meta-agl-core
parentcce01d7e05ea14a2822d48c095f64d6930b7a6f0 (diff)
weston: Handle no pointer event
This should fix weston-stacking crashing if there's no pointer surface due to not getting any pointer event. There's an implicit assumption that we have pointer events if we also have keyboard input focus which in AGL shell we don't have. Bug-AGL: SPEC-4916 Change-Id: I2b043108bf41307779bf683f2685701653c1117f Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/29263 Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Diffstat (limited to 'meta-agl-core')
-rw-r--r--meta-agl-core/recipes-graphics/wayland/weston/0001-clients-Handle-missing-pointer_surface-is-there-s-no.patch30
-rw-r--r--meta-agl-core/recipes-graphics/wayland/weston_12.0_aglcore.inc1
2 files changed, 31 insertions, 0 deletions
diff --git a/meta-agl-core/recipes-graphics/wayland/weston/0001-clients-Handle-missing-pointer_surface-is-there-s-no.patch b/meta-agl-core/recipes-graphics/wayland/weston/0001-clients-Handle-missing-pointer_surface-is-there-s-no.patch
new file mode 100644
index 000000000..202333a5e
--- /dev/null
+++ b/meta-agl-core/recipes-graphics/wayland/weston/0001-clients-Handle-missing-pointer_surface-is-there-s-no.patch
@@ -0,0 +1,30 @@
+From 6a847464de9e773f6d1490916d0df48a0f90eeba Mon Sep 17 00:00:00 2001
+From: Marius Vlad <marius.vlad@collabora.com>
+Date: Thu, 5 Oct 2023 16:27:34 +0300
+Subject: [PATCH] clients: Handle missing pointer_surface is there's no pointer
+ event
+
+Upstream-Status: Pending
+
+Bug-AGL: SPEC-4916
+Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
+---
+ clients/window.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/clients/window.c b/clients/window.c
+index 30f6410..882e9d5 100644
+--- a/clients/window.c
++++ b/clients/window.c
+@@ -3818,7 +3818,7 @@ pointer_surface_frame_callback(void *data, struct wl_callback *callback,
+ force_frame = false;
+ }
+
+- if (!input->pointer)
++ if (!input->pointer || !input->pointer_surface)
+ return;
+
+ if (input_set_pointer_special(input))
+--
+2.35.1
+
diff --git a/meta-agl-core/recipes-graphics/wayland/weston_12.0_aglcore.inc b/meta-agl-core/recipes-graphics/wayland/weston_12.0_aglcore.inc
index 5333d7c72..fe13f9ea5 100644
--- a/meta-agl-core/recipes-graphics/wayland/weston_12.0_aglcore.inc
+++ b/meta-agl-core/recipes-graphics/wayland/weston_12.0_aglcore.inc
@@ -4,6 +4,7 @@ PACKAGECONFIG:append = "${@bb.utils.contains('DISTRO_FEATURES', 'weston-remoting
SRC_URI:append = "file://0001-libweston-weston-log-Add-a-iterator-helper-for-debug.patch \
file://0001-toy-toolkit-Fix-rotations.patch \
+ file://0001-clients-Handle-missing-pointer_surface-is-there-s-no.patch \
"