diff options
-rw-r--r-- | src/quick/items/qquickitem.cpp | 8 | ||||
-rw-r--r-- | tests/auto/quick/qquicktext/tst_qquicktext.cpp | 7 |
2 files changed, 12 insertions, 3 deletions
diff --git a/src/quick/items/qquickitem.cpp b/src/quick/items/qquickitem.cpp index 3f0dae8070..ef2eac4b61 100644 --- a/src/quick/items/qquickitem.cpp +++ b/src/quick/items/qquickitem.cpp @@ -5691,10 +5691,12 @@ void QQuickItem::setAntialiasing(bool aa) { Q_D(QQuickItem); - bool changed = (aa != antialiasing()); - d->antialiasingValid = true; + if (!d->antialiasingValid) { + d->antialiasingValid = true; + d->antialiasing = d->implicitAntialiasing; + } - if (!changed) + if (aa == d->antialiasing) return; d->antialiasing = aa; diff --git a/tests/auto/quick/qquicktext/tst_qquicktext.cpp b/tests/auto/quick/qquicktext/tst_qquicktext.cpp index 0b6998146e..d36c55d687 100644 --- a/tests/auto/quick/qquicktext/tst_qquicktext.cpp +++ b/tests/auto/quick/qquicktext/tst_qquicktext.cpp @@ -1334,6 +1334,13 @@ void tst_qquicktext::antialiasing() text->resetAntialiasing(); QCOMPARE(text->antialiasing(), true); QCOMPARE(spy.count(), 2); + + // QTBUG-39047 + component.setData("import QtQuick 2.0\n Text { antialiasing: true }", QUrl()); + object.reset(component.create()); + text = qobject_cast<QQuickText *>(object.data()); + QVERIFY(text); + QCOMPARE(text->antialiasing(), true); } void tst_qquicktext::weight() |