diff options
author | Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | 2024-01-12 17:43:21 +0100 |
---|---|---|
committer | Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | 2024-02-02 23:12:00 +0100 |
commit | e35dcba5bb8cdcf578a514ad6e03ae64002c2c3a (patch) | |
tree | 4ecda3da6672e7851f73a790b5ceb658aadabc44 /src/widgets/widgets/qlineedit.cpp | |
parent | e26fbd59d5bf6b5ea14584940ee9351f81183d69 (diff) |
QLineEdit: disable cursor blinking on hide
QLineEdit activates the blinking cursor timer when it's shown,
but never deactivates it, resulting in constant wakeups even for
hidden line edits.
Note that this is a workaround. Qt is supposed to send a focus out
event to line edits that get hidden. In some corner cases, it
doesn't, and only a hide event is sent.
Change-Id: Ic0645512051466ca9b1e84c54cef34c22287338b
Task-number: QTBUG-52021
Pick-to: 6.7 6.6 6.5
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Diffstat (limited to 'src/widgets/widgets/qlineedit.cpp')
-rw-r--r-- | src/widgets/widgets/qlineedit.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/widgets/widgets/qlineedit.cpp b/src/widgets/widgets/qlineedit.cpp index c4724889ec..201ecd2b69 100644 --- a/src/widgets/widgets/qlineedit.cpp +++ b/src/widgets/widgets/qlineedit.cpp @@ -1462,6 +1462,8 @@ bool QLineEdit::event(QEvent * e) || style()->styleHint(QStyle::SH_BlinkCursorWhenTextSelected, &opt, this)) d->setCursorVisible(true); } + } else if (e->type() == QEvent::Hide) { + d->control->setBlinkingCursorEnabled(false); #if QT_CONFIG(action) } else if (e->type() == QEvent::ActionRemoved) { d->removeAction(static_cast<QActionEvent *>(e)->action()); |