qt5base-lts/tests/auto/widgets/graphicsview/qgraphicsview
Volker Hilsheimer 06235d36ae QGraphicsProxyWidget: fix propagation of high-precision events
In order to fix QTBUG-95552 properly we have to add APIs to
QGraphicsSceneWheelEvent that informs QGraphicsProxyWidget about
whether the event is a high-precision event where Qt grabs the
wheel.

If it is, then the wheel grabber will be the QGraphicsView's viewport,
and any wheel event sent to any widget will be grabbed by it. This
results in infinite recoursion, partly fixed in change
I78400ceae8da7a4e22a988c06ed58f99f1a979f4.

The proper fix is to re-grab the wheel by the embedded widget
if it (or any of its children) accepts the ScrollBegin event (and if
not, return the grab to the QGraphicsView).

This fixes the scenarios that failed in the test case, so now scrolling
through nested widgets and scrolling in nested widgets works as the
user would expect.

Fixes: QTBUG-95552
Pick-to: 6.2
Change-Id: I3e1f31cbff999c70f8c63c034f77cd2ae567d7e3
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2021-08-16 16:37:26 +00:00
..
.gitignore
BLACKLIST Android: blacklist a list of failing tests for android 2020-11-04 12:27:49 +02:00
CMakeLists.txt CMake: Regenerate projects to use new qt_internal_ API 2020-09-23 16:59:06 +02:00
tst_qgraphicsview_2.cpp Replace QtTest headers with QTest 2020-12-22 15:20:30 +01:00
tst_qgraphicsview.cpp QGraphicsProxyWidget: fix propagation of high-precision events 2021-08-16 16:37:26 +00:00
tst_qgraphicsview.h Replace Qt CONSTEXPR defines with constexpr 2020-08-14 15:52:58 +02:00