From bb82ae5fb425098dfb82d973f7c27cde44514d11 Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Tue, 14 Jun 2011 19:24:19 +0200 Subject: [PATCH] Symbian: Fix QFontInfo::pixelSize() Unlike QFont::pixelSize(), which may return -1 if the font size was defined in points, QFontInfo::pixelSize() always needs to return a valid value. c4ef479906f073fa84999eb950f00e264ebd4e8e which was a fix for QTBUG-13009 tried to fix a similar issue, but failed to do that properly, which resulted in QTBUG-17844. This commit is supposed to fix both bugs properly. Task-Number: QTBUG-13009 Task-Number: QTBUG-17844 Reviewed-by: pending --- src/gui/text/qfontdatabase_s60.cpp | 4 ---- src/gui/text/qfontengine_s60.cpp | 1 + 2 files changed, 1 insertions(+), 4 deletions(-) diff --git a/src/gui/text/qfontdatabase_s60.cpp b/src/gui/text/qfontdatabase_s60.cpp index f73abcf..3514fd3 100644 --- a/src/gui/text/qfontdatabase_s60.cpp +++ b/src/gui/text/qfontdatabase_s60.cpp @@ -1014,10 +1014,6 @@ QFontEngine *QFontDatabase::findFont(int script, const QFontPrivate *d, const QF const QSymbianTypeFaceExtras *typeFaceExtras = dbExtras->extras(fontFamily, request.weight > QFont::Normal, request.style != QFont::StyleNormal); - // We need a valid pixelSize, e.g. for lineThickness() - if (request.pixelSize < 0) - request.pixelSize = request.pointSize * d->dpi / 72; - fe = new QFontEngineS60(request, typeFaceExtras); #else // QT_NO_FREETYPE Q_UNUSED(d) diff --git a/src/gui/text/qfontengine_s60.cpp b/src/gui/text/qfontengine_s60.cpp index 39ed0b1..8c60709 100644 --- a/src/gui/text/qfontengine_s60.cpp +++ b/src/gui/text/qfontengine_s60.cpp @@ -294,6 +294,7 @@ QFontEngineS60::QFontEngineS60(const QFontDef &request, const QSymbianTypeFaceEx , m_activeFont(0) { QFontEngine::fontDef = request; + QFontEngine::fontDef.pixelSize = m_originalFontSizeInPixels; // Needs a valid pixel size. QTBUG-13009, QTBUG-17844 setFontScale(1.0); cache_cost = sizeof(QFontEngineS60); } -- 1.7.0.2.msysgit.0