From 4451010026aa559ec0f88e096f7f6afe28c34b6f Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Wed, 28 Mar 2012 12:04:08 +0200 Subject: Determine font smoothing gamma in initialization. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Avoid calls to QStyleHint and QPlatformIntegration from threads. Change-Id: I851ef029ea348f182e0b42536d0a994960aa9187 Reviewed-by: Samuel Rødal --- src/gui/kernel/qguiapplication.cpp | 7 +++++-- 1 file 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 +#include #include #include #include @@ -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 &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(); -- cgit v1.2.3