diff options
author | Friedemann Kleint <Friedemann.Kleint@nokia.com> | 2012-03-28 12:04:08 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-03-29 08:48:43 +0200 |
commit | 4451010026aa559ec0f88e096f7f6afe28c34b6f (patch) | |
tree | f0d6175666984d0184dfe2605e1bd9e91fb02157 | |
parent | 6eae3cec5a34fbed28e519ffd8a8f3f1cd7b5c5b (diff) |
Determine font smoothing gamma in initialization.
Avoid calls to QStyleHint and QPlatformIntegration from
threads.
Change-Id: I851ef029ea348f182e0b42536d0a994960aa9187
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
-rw-r--r-- | src/gui/kernel/qguiapplication.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp index 54cb5fdbeb..f5856918af 100644 --- a/src/gui/kernel/qguiapplication.cpp +++ b/src/gui/kernel/qguiapplication.cpp @@ -52,6 +52,7 @@ #include "qplatformintegration_qpa.h" #include <QtCore/QAbstractEventDispatcher> +#include <QtCore/QVariant> #include <QtCore/private/qcoreapplication_p.h> #include <QtCore/private/qabstracteventdispatcher_p.h> #include <QtCore/qmutex.h> @@ -143,6 +144,8 @@ static QBasicMutex applicationFontMutex; QFont *QGuiApplicationPrivate::app_font = 0; bool QGuiApplicationPrivate::obey_desktop_settings = true; +static qreal fontSmoothingGamma = 1.7; + extern void qRegisterGuiVariant(); extern void qUnregisterGuiVariant(); extern void qInitDrawhelperAsm(); @@ -579,6 +582,7 @@ static void init_platform(const QString &pluginArgument, const QString &platform nativeInterface->setProperty(name.constData(), value); } } + fontSmoothingGamma = QGuiApplicationPrivate::platformIntegration()->styleHint(QPlatformIntegration::FontSmoothingGamma).toReal(); } static void init_plugins(const QList<QByteArray> &pluginList) @@ -2174,8 +2178,7 @@ const QDrawHelperGammaTables *QGuiApplicationPrivate::gammaTables() { QDrawHelperGammaTables *result = m_gammaTables.load(); if (!result){ - const qreal smoothing = qApp->styleHints()->fontSmoothingGamma(); - QDrawHelperGammaTables *tables = new QDrawHelperGammaTables(smoothing); + QDrawHelperGammaTables *tables = new QDrawHelperGammaTables(fontSmoothingGamma); if (!m_gammaTables.testAndSetRelease(0, tables)) delete tables; result = m_gammaTables.load(); |