diff options
author | Richard Moe Gustavsen <richard.gustavsen@qt.io> | 2022-07-08 09:48:02 +0200 |
---|---|---|
committer | Shawn Rutledge <shawn.rutledge@qt.io> | 2022-07-19 22:22:36 +0200 |
commit | cdc0e5cac27890a5ea0590dbdc7cf4c0f624dac2 (patch) | |
tree | 96cdd86468fe070e7d7810b4d5e566e68edebf98 /src/quick/items/qquicktextedit.cpp | |
parent | 2eedf69ea9dde282601bdbef7f63dd547d80eac6 (diff) |
QQuickTextArea/Field: don't block hover events
Controls shouldn't block hover from propagating by default.
This was a regression in Qt 6.2 compared to Qt 5.15, and was
fixed with 0c7b0a43064c8be452f4be74701f1dabce87f24c. But that
patch didn't consider many of the items that overrode hover
event handling from c++, like TextArea and TextField;
they too need to ignore hover events, to not stop propagation -
it's not enough to only do it in the base class.
This patch fixes the regression that some controls
and items were blocking propagation compared to Qt 5.15.
Fixes: QTBUG-104537
Pick-to: 6.4 6.3 6.2
Change-Id: Ie047da6ac7d5be5ea6fd52d5a5446787df6d10f5
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Diffstat (limited to 'src/quick/items/qquicktextedit.cpp')
-rw-r--r-- | src/quick/items/qquicktextedit.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/quick/items/qquicktextedit.cpp b/src/quick/items/qquicktextedit.cpp index 6d8d31febc..9ee833fddc 100644 --- a/src/quick/items/qquicktextedit.cpp +++ b/src/quick/items/qquicktextedit.cpp @@ -3095,6 +3095,7 @@ void QQuickTextEdit::hoverEnterEvent(QHoverEvent *event) Q_D(QQuickTextEdit); if (d->isLinkHoveredConnected()) d->control->processEvent(event, QPointF(-d->xoff, -d->yoff)); + event->ignore(); } void QQuickTextEdit::hoverMoveEvent(QHoverEvent *event) @@ -3102,6 +3103,7 @@ void QQuickTextEdit::hoverMoveEvent(QHoverEvent *event) Q_D(QQuickTextEdit); if (d->isLinkHoveredConnected()) d->control->processEvent(event, QPointF(-d->xoff, -d->yoff)); + event->ignore(); } void QQuickTextEdit::hoverLeaveEvent(QHoverEvent *event) @@ -3109,6 +3111,7 @@ void QQuickTextEdit::hoverLeaveEvent(QHoverEvent *event) Q_D(QQuickTextEdit); if (d->isLinkHoveredConnected()) d->control->processEvent(event, QPointF(-d->xoff, -d->yoff)); + event->ignore(); } /*! |