qt6-bb10/src/widgets
Volker Hilsheimer d934fd7f54 Send MouseMove events without buttons if the press closed the popup
With nested popup widgets, pressing a mouse button on the lower
popup will close the active popup. MouseMove events that are generated
before the button is released again should not have that button
included, as it is likely to result in incorrect state handling in
the widget. This change removes all buttons from the MouseMove event,
which is the second best option.

This is mostly consistent with the behavior when closing a popup and
no other popup remains. The widget underneath will get MouseMove
events without the respective button included.

This change doesn't include a fix for the final release event, which
should ideally also not be delivered to the remaining popup, as it
never got a corresponding press event. Qt has already reset the states
in which it stores which widget received the press event at the time
the release is generated, such as qt_button_down and qt_popup_down.
So we can't separate a release grabbed by a newly opened popup (which
we want) from a release to the popup that became active after closing
(which we don't want).
However, widgets can more easily work around this issue, and the risk
of breaking things by changing the code further becomes too high.

Change-Id: I603bbdbc7e7355952d96ab77c5e2d2f1e6f94987
Fixes: QTBUG-82538
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
2020-03-30 20:06:20 +01:00
..
accessible Fix QAccessibleWidget::focusChild() to return focused descendant 2019-12-19 08:39:10 +01:00
dialogs Fix wrong DPI used by QStyle::pixelMetric() 2020-02-22 10:05:03 +01:00
doc Doc: Update the stylesheet reference for widgets and richtext 2020-01-27 11:14:01 +00:00
effects More nullptr usage in headers 2019-03-14 07:37:52 +00:00
graphicsview Fix wrong DPI used by QStyle::pixelMetric() 2020-02-22 10:05:03 +01:00
itemviews itemviews: Use the start of the current selection when getting the range 2020-03-30 11:17:59 +00:00
kernel Send MouseMove events without buttons if the press closed the popup 2020-03-30 20:06:20 +01:00
statemachine More nullptr usage in headers 2019-03-14 07:37:52 +00:00
styles Fix wrong DPI used by QStyle::pixelMetric() 2020-02-22 10:05:03 +01:00
util QSystemTrayIcon: Fix geometry() to work with scaling enabled 2020-01-07 13:23:06 +01:00
widgets Document the behavior of QLineEdit::inputMask correctly 2020-02-26 23:26:44 +01:00
Qt5WidgetsConfigExtras.cmake.in
Qt5WidgetsMacros.cmake CMake: Set SKIP_AUTOMOC/AUTOUIC where needed 2017-11-22 13:51:30 +00:00
QtWidgets.dynlist
configure.json Goodbye showYellowThing 2019-08-22 09:43:48 +02:00
configure.pri
qtwidgets.tracepoints Reduce amount of tracepoints required for event tracking 2019-05-02 14:15:58 +00:00
widgets.pro Remove eval mode 2019-02-12 15:48:45 +00:00