diff options
Diffstat (limited to 'src/quick/items/qquicktextedit.cpp')
| -rw-r--r-- | src/quick/items/qquicktextedit.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/quick/items/qquicktextedit.cpp b/src/quick/items/qquicktextedit.cpp index 772a5c579b..e09895f1db 100644 --- a/src/quick/items/qquicktextedit.cpp +++ b/src/quick/items/qquicktextedit.cpp @@ -1975,12 +1975,15 @@ QRectF QQuickTextEdit::cursorRectangle() const bool QQuickTextEdit::event(QEvent *event) { Q_D(QQuickTextEdit); - if (event->type() == QEvent::ShortcutOverride) { - d->control->processEvent(event, QPointF(-d->xoff, -d->yoff)); - if (event->isAccepted()) - return true; + bool state = QQuickImplicitSizeItem::event(event); + if (event->type() == QEvent::ShortcutOverride && !event->isAccepted()) { + QQuickItemPrivate *itemPriv = QQuickItemPrivate::get(this); + if (!itemPriv->extra.isAllocated() || !itemPriv->extra->keyHandler) { + d->control->processEvent(event, QPointF(-d->xoff, -d->yoff)); + } + state = true; } - return QQuickImplicitSizeItem::event(event); + return state; } /*! |
