aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquicktextedit.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick/items/qquicktextedit.cpp')
-rw-r--r--src/quick/items/qquicktextedit.cpp13
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;
}
/*!