summaryrefslogtreecommitdiffstats
path: root/src/core
diff options
context:
space:
mode:
authorKirill Burtsev <kirill.burtsev@qt.io>2022-05-05 13:52:32 +0200
committerKirill Burtsev <kirill.burtsev@qt.io>2022-06-01 23:11:52 +0200
commit400355fa5170244ceea571f50ec61b29426ebd0a (patch)
treebd843e18dd85e4d142f338ba98d3555de2150919 /src/core
parent91d53ffd54eaa7e2f8cf1bc6e076d645a45a6bee (diff)
Fix touch input for widget's delegate for html popup
Earlier fix cf8bc1899a introduced the logic, where all system synthesized mouse events are ignored. But after c56169f7a1 this is undesired since for widget with Qt::Popup flag touch input is ignored by QWidgetWindow, and input is expected to be delivered to popup as synthesized mouse event (either synthesized by Qt or for capabable devices by system). So allow system synthesized mouse events to let through for popup. Synthesis by Qt is suppress automatically for accepted touch event, it's only system event are still delivered unconditionally, so still ignore them for widgets impl. Global ignore in core is not needed, since QQuickWidget ignores system synthesized events unconditionally. Fixes: QTBUG-79254 Change-Id: Ie8f55eb8b9c2677d8a98381effb3cb31d9388ac7 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Martin Negyokru <negyokru@inf.u-szeged.hu> (cherry picked from commit 1f6495af6331f5504de9d3f7e43f5202345c7a8c) Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Diffstat (limited to 'src/core')
-rw-r--r--src/core/render_widget_host_view_qt.cpp6
1 files changed, 0 insertions, 6 deletions
diff --git a/src/core/render_widget_host_view_qt.cpp b/src/core/render_widget_host_view_qt.cpp
index b6cac85ce..7acef2b15 100644
--- a/src/core/render_widget_host_view_qt.cpp
+++ b/src/core/render_widget_host_view_qt.cpp
@@ -1378,12 +1378,6 @@ void RenderWidgetHostViewQt::handleMouseEvent(QMouseEvent* event)
if (event->type() == QEvent::MouseButtonRelease)
m_mouseButtonPressed--;
- // Don't forward mouse events synthesized by the system, which are caused by genuine touch
- // events. Chromium would then process for e.g. a mouse click handler twice, once due to the
- // system synthesized mouse event, and another time due to a touch-to-gesture-to-mouse
- // transformation done by Chromium.
- if (event->source() == Qt::MouseEventSynthesizedBySystem)
- return;
handlePointerEvent<QMouseEvent>(event);
}