Add styleName to QFontDef comparison
authorJiang Jiang <jiang.jiang@nokia.com>
Thu, 23 Jun 2011 12:19:48 +0000 (14:19 +0200)
committerQt by Nokia <qt-info@nokia.com>
Mon, 27 Jun 2011 07:41:24 +0000 (09:41 +0200)
To make sure we cache different font engines with different style
names.

Task-number: QTBUG-19366
Change-Id: Iefaebd5418f212ff759e03c1745f839a7f23d013
Reviewed-on: http://codereview.qt.nokia.com/738
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
src/gui/text/qfont.cpp
src/gui/text/qfont_p.h

index d4c81b9..e771b07 100644 (file)
@@ -147,6 +147,7 @@ bool QFontDef::exactMatch(const QFontDef &other) const
             && weight        == other.weight
             && style        == other.style
             && this_family   == other_family
+            && styleName     == other.styleName
             && (this_foundry.isEmpty()
                 || other_foundry.isEmpty()
                 || this_foundry == other_foundry)
index 8eeae6f..4ae31c3 100644 (file)
@@ -113,6 +113,7 @@ struct QFontDef
                     && styleStrategy == other.styleStrategy
                     && ignorePitch == other.ignorePitch && fixedPitch == other.fixedPitch
                     && family == other.family
+                    && styleName == other.styleName
                     && hintingPreference == other.hintingPreference
 #ifdef Q_WS_X11
                     && addStyle == other.addStyle
@@ -128,6 +129,8 @@ struct QFontDef
         if (styleHint != other.styleHint) return styleHint < other.styleHint;
         if (styleStrategy != other.styleStrategy) return styleStrategy < other.styleStrategy;
         if (family != other.family) return family < other.family;
+        if (!styleName.isEmpty() && !other.styleName.isEmpty() && styleName != other.styleName)
+            return styleName < other.styleName;
         if (hintingPreference != other.hintingPreference) return hintingPreference < other.hintingPreference;
 
 #ifdef Q_WS_X11