diff options
Diffstat (limited to 'src/quick/items/qquicktextedit.cpp')
-rw-r--r-- | src/quick/items/qquicktextedit.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/quick/items/qquicktextedit.cpp b/src/quick/items/qquicktextedit.cpp index 06a0fc396b..6b4b118eb7 100644 --- a/src/quick/items/qquicktextedit.cpp +++ b/src/quick/items/qquicktextedit.cpp @@ -1641,7 +1641,8 @@ bool QQuickTextEdit::event(QEvent *event) Q_D(QQuickTextEdit); if (event->type() == QEvent::ShortcutOverride) { d->control->processEvent(event, QPointF(-d->xoff, -d->yoff)); - return event->isAccepted(); + if (event->isAccepted()) + return true; } return QQuickImplicitSizeItem::event(event); } @@ -2688,6 +2689,12 @@ void QQuickTextEditPrivate::handleFocusEvent(QFocusEvent *event) q->disconnect(QGuiApplication::inputMethod(), SIGNAL(inputDirectionChanged(Qt::LayoutDirection)), q, SLOT(q_updateAlignment())); #endif + if (event->reason() != Qt::ActiveWindowFocusReason + && event->reason() != Qt::PopupFocusReason + && control->textCursor().hasSelection() + && !persistentSelection) + q->deselect(); + emit q->editingFinished(); } } |