aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/quick/items/qquickitem.cpp8
-rw-r--r--tests/auto/quick/qquicktext/tst_qquicktext.cpp7
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()