Do not use QApp::arguments() to select antialiasing mode.
authorGunnar Sletta <gunnar.sletta@digia.com>
Fri, 31 May 2013 07:29:48 +0000 (09:29 +0200)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Fri, 31 May 2013 07:47:26 +0000 (09:47 +0200)
This selection typically interfers with an application's command line
arguments. Creator's qml2puppet needs to set this mode to avoid
getting subpixel antialiased text from DesignerSupport.

Change-Id: Iabf2bece211b897c58e2933d5502fdcf7c360c55
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
src/quick/scenegraph/qsgcontext.cpp

index d3710c7..1c7f9cd 100644 (file)
@@ -159,15 +159,13 @@ QSGContext::QSGContext(QObject *parent) :
     QObject(*(new QSGContextPrivate), parent)
 {
     Q_D(QSGContext);
-    static bool doSubpixel = qApp->arguments().contains(QLatin1String("--text-subpixel-antialiasing"));
-    static bool doLowQualSubpixel = qApp->arguments().contains(QLatin1String("--text-subpixel-antialiasing-lowq"));
-    static bool doGray = qApp->arguments().contains(QLatin1String("--text-gray-antialiasing"));
-    if (doSubpixel)
+    QByteArray mode = qgetenv("QSG_DISTANCEFIELD_ANTIALIASING");
+    if (mode == "subpixel")
         d->distanceFieldAntialiasing = QSGGlyphNode::HighQualitySubPixelAntialiasing;
-    else if (doLowQualSubpixel)
+    else if (mode == "subpixel-lowq")
         d->distanceFieldAntialiasing = QSGGlyphNode::LowQualitySubPixelAntialiasing;
-    else if (doGray)
-       d->distanceFieldAntialiasing = QSGGlyphNode::GrayAntialiasing;
+    else if (mode == "gray")
+        d->distanceFieldAntialiasing = QSGGlyphNode::GrayAntialiasing;
 }