summaryrefslogtreecommitdiffstats
path: root/src/widgets/widgets/qplaintextedit.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets/widgets/qplaintextedit.cpp')
-rw-r--r--src/widgets/widgets/qplaintextedit.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/widgets/widgets/qplaintextedit.cpp b/src/widgets/widgets/qplaintextedit.cpp
index 58203ba921..fb90667915 100644
--- a/src/widgets/widgets/qplaintextedit.cpp
+++ b/src/widgets/widgets/qplaintextedit.cpp
@@ -759,6 +759,7 @@ QPlainTextEditPrivate::QPlainTextEditPrivate()
tabChangesFocus(false),
lineWrap(QPlainTextEdit::WidgetWidth),
wordWrap(QTextOption::WrapAtWordBoundaryOrAnywhere),
+ keyboardModifiers{},
clickCausedFocus(0), placeholderVisible(1),
topLine(0), topLineFracture(0),
pageUpDownLastCursorYIsValid(false)
@@ -1621,7 +1622,7 @@ void QPlainTextEdit::timerEvent(QTimerEvent *e)
const QPoint globalPos = QCursor::pos();
pos = d->viewport->mapFromGlobal(globalPos);
QMouseEvent ev(QEvent::MouseMove, pos, d->viewport->mapTo(d->viewport->topLevelWidget(), pos), globalPos,
- Qt::LeftButton, Qt::LeftButton, QGuiApplication::keyboardModifiers());
+ Qt::LeftButton, Qt::LeftButton, d->keyboardModifiers);
mouseMoveEvent(&ev);
}
int deltaY = qMax(pos.y() - visible.top(), visible.bottom() - pos.y()) - visible.height();
@@ -1686,6 +1687,7 @@ void QPlainTextEdit::setPlainText(const QString &text)
void QPlainTextEdit::keyPressEvent(QKeyEvent *e)
{
Q_D(QPlainTextEdit);
+ d->keyboardModifiers = e->modifiers();
#ifdef QT_KEYPAD_NAVIGATION
switch (e->key()) {
@@ -1833,6 +1835,9 @@ void QPlainTextEdit::keyPressEvent(QKeyEvent *e)
*/
void QPlainTextEdit::keyReleaseEvent(QKeyEvent *e)
{
+ Q_D(QPlainTextEdit);
+ d->keyboardModifiers = e->modifiers();
+
#ifdef QT_KEYPAD_NAVIGATION
Q_D(QPlainTextEdit);
if (QApplicationPrivate::keypadNavigationEnabled()) {