Weston crushed by ivi-input-controller 09/13209/2
authorTadao Tanikawa <tanikawa.tadao@jp.panasonic.com>
Fri, 12 Jan 2018 20:30:15 +0000 (05:30 +0900)
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>
Mon, 5 Feb 2018 15:42:58 +0000 (15:42 +0000)
When repeat switching between HomeScreen and WebBrowser
very quickly, sometimes weston crushed because of
segmentation fault of ivi-input-contoller.so.

Change-Id: I408158a98f30640fdab9a843331451b5549cb761
Signed-off-by: Tadao Tanikawa <tanikawa.tadao@jp.panasonic.com>
meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension/0001-Resolve-weston-crush-when-repeat-touching-very-quick.patch [new file with mode: 0644]
meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension_1.13.0.bb

diff --git a/meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension/0001-Resolve-weston-crush-when-repeat-touching-very-quick.patch b/meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension/0001-Resolve-weston-crush-when-repeat-touching-very-quick.patch
new file mode 100644 (file)
index 0000000..636ecf1
--- /dev/null
@@ -0,0 +1,31 @@
+From 97af4843a4705cd7d5b6b69abb9002fd974a5b94 Mon Sep 17 00:00:00 2001
+From: Tadao Tanikawa <tanikawa.tadao@jp.panasonic.com>
+Date: Fri, 12 Jan 2018 01:53:01 +0900
+Subject: [PATCH] Resolve weston cursh when repeat touching very quickly
+
+Weston sometimes crush while the user repeat touching very
+quickly icons/shortcuts on HomeScreen.
+
+Signed-off-by: Tadao Tanikawa <tanikawa.tadao@jp.panasonic.com>
+---
+ ivi-input-modules/ivi-input-controller/src/ivi-input-controller.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/ivi-input-modules/ivi-input-controller/src/ivi-input-controller.c b/ivi-input-modules/ivi-input-controller/src/ivi-input-controller.c
+index b0fe37d..f1a31d0 100644
+--- a/ivi-input-modules/ivi-input-controller/src/ivi-input-controller.c
++++ b/ivi-input-modules/ivi-input-controller/src/ivi-input-controller.c
+@@ -557,6 +557,10 @@ touch_grab_up(struct weston_touch_grab *grab, uint32_t time, int touch_id)
+     const struct ivi_layout_interface *interface =
+         seat->input_ctx->ivi_layout_interface;
++    /* if touch device has no focused view, there is nothing to do*/
++    if (grab->touch->focus == NULL)
++        return;
++
+     /* For each surface_ctx, check for focus and send */
+     wl_list_for_each(surf_ctx, &seat->input_ctx->surface_list, link) {
+         struct weston_surface *surf, *send_surf;
+-- 
+2.7.4
+
index e20132c..68e92ad 100644 (file)
@@ -10,6 +10,7 @@ SRC_URI = "git://github.com/GENIVI/${BPN}.git;protocol=http \
        file://0001-simple-id-agent-initial-commit.patch;patch=1 \
        file://0002-ivi-controller-load-id-agent-module.patch;patch=1 \
         file://0003-ivi-controller-add-resize-setting-suit-to-surface-si.patch \
+        file://0001-Resolve-weston-crush-when-repeat-touching-very-quick.patch \
 "
 S = "${WORKDIR}/git"