dra7xx-evm: weston: add changes for AGL home screen
[AGL/meta-agl.git] / meta-agl-bsp / meta-ti / recipes-arago / weston / weston / 0004-Weston1.9.0-Fix-touch-screen-crash-issue.patch
diff --git a/meta-agl-bsp/meta-ti/recipes-arago/weston/weston/0004-Weston1.9.0-Fix-touch-screen-crash-issue.patch b/meta-agl-bsp/meta-ti/recipes-arago/weston/weston/0004-Weston1.9.0-Fix-touch-screen-crash-issue.patch
new file mode 100644 (file)
index 0000000..c221d1c
--- /dev/null
@@ -0,0 +1,37 @@
+From 9a7c0e7b6ae9700069756b33d2ea726e58b552ed Mon Sep 17 00:00:00 2001
+From: Eric Ruei <e-ruei1@ti.com>
+Date: Wed, 16 Mar 2016 16:50:31 -0400
+Subject: [PATCH 4/4] Weston1.9.0: Fix touch screen crash issue
+
+Touch screen operation causes the weston to crash with segment fault sometimes.
+The crash occurs when the coordinate (x,y) passed to the weston input module
+is outside the view window, hence the weston compositor is not able to pick
+up a display view and there is no code to detect this condition at function
+notify_touch().
+
+
+Signed-off-by: Eric Ruei <e-ruei1@ti.com>
+---
+ src/input.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/src/input.c b/src/input.c
+index e230c83..fd8e53f 100644
+--- a/src/input.c
++++ b/src/input.c
+@@ -1566,6 +1566,12 @@ notify_touch(struct weston_seat *seat, uint32_t time, int touch_id,
+                * until all touch points are up again. */
+               if (touch->num_tp == 1) {
+                       ev = weston_compositor_pick_view(ec, x, y, &sx, &sy);
++                      if (!ev)
++                      {
++                              weston_log("notify_touch: weston_compositor_pick_view(%d, %d) failed to find a view!\n",
++                                                      wl_fixed_to_int(x), wl_fixed_to_int(y));
++                              return;
++                      }
+                       weston_touch_set_focus(touch, ev);
+               } else if (!touch->focus) {
+                       /* Unexpected condition: We have non-initial touch but
+-- 
+1.9.1
+