From 1e8595c525ec2abf8991d776f4d0fdb664964e69 Mon Sep 17 00:00:00 2001
From: Johan Klokkhammer Helsing <johan.helsing@qt.io>
Date: Wed, 14 Sep 2016 13:22:36 +0200
Subject: [PATCH] Add missing mouse ungrab when touch ends

Task-number: QTBUG-54453
Change-Id: Ie8fadd89797cd7c9ff5bf00924706bd662bbd22d
Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
---
 src/compositor/compositor_api/qwaylandquickitem.cpp | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/compositor/compositor_api/qwaylandquickitem.cpp b/src/compositor/compositor_api/qwaylandquickitem.cpp
index a1855529..5e90c06c 100644
--- a/src/compositor/compositor_api/qwaylandquickitem.cpp
+++ b/src/compositor/compositor_api/qwaylandquickitem.cpp
@@ -645,6 +645,12 @@ void QWaylandQuickItem::touchEvent(QTouchEvent *event)
                 grabMouse();
         }
 
+        if (event->type() == QEvent::TouchEnd) {
+            QQuickItem *grabber = window()->mouseGrabberItem();
+            if (grabber == this)
+                ungrabMouse();
+        }
+
         QPoint pointPos;
         const QList<QTouchEvent::TouchPoint> &points = event->touchPoints();
         if (!points.isEmpty())
-- 
GitLab