qt6-bb10/src/widgets/kernel
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
..
qaction.h Add forwarding headers for classes moved from QtWidgets to QtGui 2020-10-20 19:27:04 +02:00
qaction_widgets.cpp Fix build without features.shortcut 2020-06-05 10:23:48 +09:00
qaction_widgets_p.h Fix build without features.menu 2020-06-04 01:52:21 +09:00
qactiongroup.h Add forwarding headers for classes moved from QtWidgets to QtGui 2020-10-20 19:27:04 +02:00
qapplication.cpp QGraphicsProxyWidget: fix propagation of high-precision events 2021-08-16 16:37:26 +00:00
qapplication.h Improve error reporting when requesting unsupported native interface 2021-07-15 17:26:26 +02:00
qapplication_p.h Purge QCoreApplicationPrivate::cloneEvent and overrides 2020-11-12 15:25:06 +01:00
qboxlayout.cpp Improve handling of minimumHeightForWidth() 2021-05-10 08:24:13 +00:00
qboxlayout.h Make QLayout::spacing/setSpacing virtual, remove qobject_cast hack 2020-06-09 16:31:54 +02:00
qformlayout.cpp QLayout docs: explain better what the QWidget ctor arg does 2020-10-27 13:49:39 +02:00
qformlayout.h Consistent indentation for all Q_PROPERTYs 2021-06-24 23:06:20 +02:00
qgesture.cpp Tidy nullptr usage 2019-12-06 12:13:20 +01:00
qgesture.h Consistent indentation for all Q_PROPERTYs 2021-06-24 23:06:20 +02:00
qgesture_p.h Deprecate constructing QFlags from a pointer 2019-11-20 19:43:38 +01:00
qgesturemanager.cpp Adjust code format, add space after 'if' 2020-11-16 12:53:37 +00:00
qgesturemanager_p.h
qgesturerecognizer.cpp Fix memory leak when unregistering a gesture recognizer 2019-03-19 10:41:26 +00:00
qgesturerecognizer.h
qgridlayout.cpp Fix invalid pointer return with QGridLayout::itemAt(-1) 2021-03-22 18:47:36 +08:00
qgridlayout.h QLayout: unify the constructors 2020-11-02 14:25:03 +01:00
qlayout.cpp Do not remove non-widget items when removeWidget() called with nullptr 2021-05-11 16:57:17 +00:00
qlayout.h Consistent indentation for all Q_PROPERTYs 2021-06-24 23:06:20 +02:00
qlayout_p.h Avoid use of Q_UNUSED by eliminating the parameter names 2020-07-03 21:10:09 +02:00
qlayoutengine.cpp Use QList instead of QVector in widgets 2020-07-02 21:57:06 +02:00
qlayoutengine_p.h Use QList instead of QVector in widgets 2020-07-02 21:57:06 +02:00
qlayoutitem.cpp Improve handling of minimumHeightForWidth() 2021-05-10 08:24:13 +00:00
qlayoutitem.h Improve handling of minimumHeightForWidth() 2021-05-10 08:24:13 +00:00
qmacgesturerecognizer.cpp Partially modified to use C++11 standard nullptr 2021-05-27 03:24:40 +08:00
qmacgesturerecognizer_p.h
qshortcut.h Add forwarding headers for classes moved from QtWidgets to QtGui 2020-10-20 19:27:04 +02:00
qshortcut_widgets.cpp Merge QGuiShortcut and QShortcut again in QtGui 2020-03-29 19:31:14 +01:00
qsizepolicy.cpp Remove QVariant(int type, void *data, ...) constructor 2020-08-15 10:56:29 +02:00
qsizepolicy.h Replace Q_REQUIRED_RESULT with [[nodiscard]] 2020-09-25 07:10:45 +02:00
qstackedlayout.cpp QStackedLayout: fix a memory leak 2020-11-23 21:11:42 +01:00
qstackedlayout.h
qstandardgestures.cpp Fix compiler warnings from deprecated QTouchEvent::touchPoints 2020-09-23 19:50:26 +02:00
qstandardgestures_p.h
qt_widgets_pch.h Migrate to autogenerated cpp exports 2021-06-25 19:33:12 +02:00
qtestsupport_widgets.cpp Refactor testlib touch functions into qtestsupport_gui and _widgets 2020-09-08 08:02:15 +02:00
qtestsupport_widgets.h Replace Q_REQUIRED_RESULT with [[nodiscard]] 2020-09-25 07:10:45 +02:00
qtooltip.cpp Don't refer to "this" in QToolTip documentation 2020-12-09 15:54:45 +01:00
qtooltip.h Merge QToolTip::showText overloads as per ### Qt 6 comments 2020-06-10 19:59:05 +02:00
qtwidgetsglobal.h Migrate to autogenerated cpp exports 2021-06-25 19:33:12 +02:00
qtwidgetsglobal_p.h
qwhatsthis.cpp Disable operator+ and operator- for QFlags 2020-09-09 06:00:28 +02:00
qwhatsthis.h Remove handling of missing =delete and =default support 2019-05-02 11:14:29 +00:00
qwidget.cpp Doc: Minor cleanup in QWidget docs 2021-07-26 20:37:40 +02:00
qwidget.h QWidget: cope with QObject::connect()'s incomplete SFINAE-friendliness 2021-07-24 00:33:09 +02:00
qwidget_p.h QWidgets: show SoftwareInputPanel for key release 2021-05-05 16:07:17 +00:00
qwidgetaction.cpp Add ; to Q_UNUSED 2020-07-07 11:51:48 +02:00
qwidgetaction.h Remove QGuiAction again and split QAction implementation up instead 2020-03-29 11:18:57 +01:00
qwidgetaction_p.h Remove QGuiAction again and split QAction implementation up instead 2020-03-29 11:18:57 +01:00
qwidgetrepaintmanager.cpp Replace qt_make_unique with std::make_unique 2020-11-23 09:50:21 +01:00
qwidgetrepaintmanager_p.h Use QList instead of QVector in widgets 2020-07-02 21:57:06 +02:00
qwidgetsvariant.cpp Make most of QMetaTypeInterface constexpr 2020-10-18 13:48:16 +02:00
qwidgetwindow.cpp Windows: Fix dialog moving up after closing/reshowing 2021-01-15 18:05:19 +01:00
qwidgetwindow_p.h Remove dead code from src/widgets 2020-05-11 11:05:15 +02:00
qwindowcontainer.cpp Tidy nullptr usage 2019-12-06 12:13:20 +01:00
qwindowcontainer_p.h Deprecate constructing QFlags from a pointer 2019-11-20 19:43:38 +01:00