summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@digia.com>2013-08-21 15:05:19 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-08-22 09:22:09 +0200
commitc15a8cc283d5d7b26677b9c71cabb1f5f47494f1 (patch)
tree7b37453c79b7828a5d8ac2d0b683e046399337cb
parentf9da1a21a862ab2964c0e9f366a6cc6e4932ad21 (diff)
Don't use qt_mac_get_fixed_pitch() to resolve fixed pitch fonts on OSXv5.1.1
The call was resulting in inifinite recursion on OSX 10.9 when Qt was built against the 10.7 SDK, as qt_mac_get_fixed_pitch uses QFontMetrics to resolve the pitch, and we would end up in the font resolver again when asking for the metrics. The CoreText font-database already takes care of resolving whether or not a font family is fixed-pitch, so the code is likely a leftover from the ATSUI-days, and can be removed. Task-number: QTBUG-31803 Change-Id: I37c90fa637927eb4adc16c0fd556c4c46c456034 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> (cherry picked from commit bd9a023a41209a216eec28bd25a20372a5172b6a) Reviewed-by: Jani Heikkinen <jani.heikkinen@digia.com> Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
-rw-r--r--src/gui/text/qfontdatabase.cpp24
1 files changed, 0 insertions, 24 deletions
diff --git a/src/gui/text/qfontdatabase.cpp b/src/gui/text/qfontdatabase.cpp
index 62379cd592..54b4629ca0 100644
--- a/src/gui/text/qfontdatabase.cpp
+++ b/src/gui/text/qfontdatabase.cpp
@@ -314,9 +314,6 @@ struct QtFontFamily
QtFontFamily(const QString &n)
:
fixedPitch(false),
-#if !defined(QWS) && defined(Q_OS_MAC)
- fixedPitchComputed(false),
-#endif
name(n), count(0), foundries(0)
, bogusWritingSystems(false)
, askedForFallback(false)
@@ -330,9 +327,6 @@ struct QtFontFamily
}
bool fixedPitch : 1;
-#if !defined(QWS) && defined(Q_OS_MAC)
- bool fixedPitchComputed : 1;
-#endif
QString name;
QStringList aliases;
@@ -348,18 +342,6 @@ struct QtFontFamily
QtFontFoundry *foundry(const QString &f, bool = false);
};
-#if !defined(QWS) && defined(Q_OS_MAC)
-inline static void qt_mac_get_fixed_pitch(QtFontFamily *f)
-{
- if(f && !f->fixedPitchComputed) {
- QFontMetrics fm(f->name);
- f->fixedPitch = fm.width(QLatin1Char('i')) == fm.width(QLatin1Char('m'));
- f->fixedPitchComputed = true;
- }
-}
-#endif
-
-
QtFontFoundry *QtFontFamily::foundry(const QString &f, bool create)
{
if (f.isNull() && count == 1)
@@ -823,9 +805,6 @@ unsigned int bestFoundry(int script, unsigned int score, int styleStrategy,
EncodingMismatch = 0x0002
};
if (pitch != '*') {
-#if !defined(QWS) && defined(Q_OS_MAC)
- qt_mac_get_fixed_pitch(const_cast<QtFontFamily*>(family));
-#endif
if ((pitch == 'm' && !family->fixedPitch)
|| (pitch == 'p' && family->fixedPitch))
this_score += PitchMismatch;
@@ -1263,9 +1242,6 @@ bool QFontDatabase::isFixedPitch(const QString &family,
QT_PREPEND_NAMESPACE(load)(familyName);
QtFontFamily *f = d->family(familyName);
-#if !defined(QWS) && defined(Q_OS_MAC)
- qt_mac_get_fixed_pitch(f);
-#endif
return (f && f->fixedPitch);
}