diff options
Diffstat (limited to 'src/quick/items/qquicktextedit.cpp')
| -rw-r--r-- | src/quick/items/qquicktextedit.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/quick/items/qquicktextedit.cpp b/src/quick/items/qquicktextedit.cpp index b71db53596..fce8a4eb32 100644 --- a/src/quick/items/qquicktextedit.cpp +++ b/src/quick/items/qquicktextedit.cpp @@ -1565,6 +1565,27 @@ void QQuickTextEdit::geometryChange(const QRectF &newGeometry, const QRectF &old QQuickImplicitSizeItem::geometryChange(newGeometry, oldGeometry); } +void QQuickTextEdit::itemChange(ItemChange change, const ItemChangeData &value) +{ + Q_D(QQuickTextEdit); + Q_UNUSED(value); + switch (change) { + case ItemDevicePixelRatioHasChanged: + if (d->renderType == NativeRendering) { + // Native rendering optimizes for a given pixel grid, so its results must not be scaled. + // Text layout code respects the current device pixel ratio automatically, we only need + // to rerun layout after the ratio changed. + updateSize(); + updateWholeDocument(); + } + break; + + default: + break; + } + QQuickImplicitSizeItem::itemChange(change, value); +} + /*! Ensures any delayed caching or data loading the class needs to performed is complete. |
