diff options
author | Anu Aliyas <anu.aliyas@qt.io> | 2024-02-05 14:10:03 +0100 |
---|---|---|
committer | Anu Aliyas <anu.aliyas@qt.io> | 2024-05-31 08:52:52 +0100 |
commit | 9f247e3067113bc47b5e2635bc0b4dc69f8289f3 (patch) | |
tree | 60b2d2c07a4c1a0e2285685e335d93f96b4b2418 /build/qmake/mkspecs | |
parent | d5c15cb35fb87d411760dd0f55fad4fc3d8cafb2 (diff) |
If QApplicationPrivate::wheel_widget is present all wheel events are
forwarded to the wheel widget. If the wheel widget doesn't handle the
event, it is forwarded to the parent widget. With QtWebEngine in
the picture, all the mouse wheel events are forwarded to Chromium.
If Chromium doesn't handle the event, QtWebEngine will send the
unhandled mouse wheel event to the parent using qApp->sendEvent().
This operation is performed asynchronously. There is no immediate way
to determine whether QtWebEngine is going to handle the event.
If QApplicationPrivate::wheel_widget is not null, the mouse wheel handling
logic will forward the unhandled event back to the wheel_widget
which is QtWebEngine in this case leading to QtWebEngine grabbing all
mouse wheel events. Also there is no way to get proper phase
information from the Chromium, and the unhandled events are forwarded
with Qt::NoScrollPhase. QApplicationPrivate::wheel_widget is set to
nullptr to avoid the crash.
Fixes: QTBUG-121359
Pick-to: 6.7 6.6 6.5
Change-Id: I01fef5605c264fdc97df041d57dc3589aa17c49f
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'build/qmake/mkspecs')
0 files changed, 0 insertions, 0 deletions