diff options
author | Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> | 2020-11-18 13:45:19 +0100 |
---|---|---|
committer | Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> | 2020-11-20 20:29:00 +0000 |
commit | 1d14067680f02f47b2f8ff375c44eb64633eec02 (patch) | |
tree | b70acd13e64cc19795773f23bc06bda6c17a94ee /tests/auto/gui/text | |
parent | c63669bb8c5169f8232151451b1095e2f3013d48 (diff) |
Fix weight when reading old serialized QFonts
The QFont::fromString() needs to differ between strings
produced before and after Qt 6.0 when interpreting the
weight value, since in older strings this will be the legacy
scale.
Luckily the number of tokens in the string can be used for this
purpose, since many tokens were added in Qt 6.0.
This broke KDE, where font settings are stored in QSettings
and serialized using QFont::toString() from Qt 5.
Fixes: QTBUG-88589
Pick-to: 6.0.0 6.0
Change-Id: I199737fed61917f8b9d8f86176ead29a89eb8e0c
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Diffstat (limited to 'tests/auto/gui/text')
-rw-r--r-- | tests/auto/gui/text/qfont/tst_qfont.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/tests/auto/gui/text/qfont/tst_qfont.cpp b/tests/auto/gui/text/qfont/tst_qfont.cpp index 7af48eda01..2e87cc8e50 100644 --- a/tests/auto/gui/text/qfont/tst_qfont.cpp +++ b/tests/auto/gui/text/qfont/tst_qfont.cpp @@ -602,7 +602,7 @@ void tst_QFont::toAndFromString() // Since Qt 6.0 it was changed to include more information in the description, so // this checks for compatibility - const QString fontStringFrom515(QLatin1String("Times New Roman,18,-1,5,700,1,0,0,1,0,Regular")); + const QString fontStringFrom515(QLatin1String("Times New Roman,18,-1,5,75,1,0,0,1,0,Regular")); QFont fontFrom515("Times New Roman", 18); fontFrom515.setBold(true); fontFrom515.setItalic(true); @@ -629,7 +629,7 @@ void tst_QFont::toAndFromString() void tst_QFont::fromStringWithoutStyleName() { QFont font1; - font1.fromString("Noto Sans,12,-1,5,400,0,0,0,0,0,Regular"); + font1.fromString("Noto Sans,12,-1,5,50,0,0,0,0,0,Regular"); QFont font2 = font1; const QString str = "Times,16,-1,5,400,0,0,0,0,0,0,0,0,0,0,1"; @@ -640,7 +640,7 @@ void tst_QFont::fromStringWithoutStyleName() const QString fontStringFrom60( QLatin1String("Times New Roman,18,-1,5,700,1,0,0,1,0,1,0,150.5,2.5,50,2")); QFont font3; - font3.fromString("Noto Sans,12,-1,5,400,0,0,0,0,0,Regular"); + font3.fromString("Noto Sans,12,-1,5,50,0,0,0,0,0,Regular"); QFont font4 = font3; font4.fromString(fontStringFrom60); QCOMPARE(font4.toString(), fontStringFrom60); |