From 67b4a9f516c6d7b7b8610387c8796aecc18380d3 Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Sun, 13 Nov 2022 22:52:32 +0200 Subject: [PATCH] initialize values in QFont streaming operator if they are not read from the QDataStream (e.g. premature end of data or corrupt data) they will end up being zero tho because that is what QDataStream sets them to on failure, perhaps it should not Signed-off-by: Ivailo Monev --- src/gui/text/qfont.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/gui/text/qfont.cpp b/src/gui/text/qfont.cpp index 25f059b31..f5d64f365 100644 --- a/src/gui/text/qfont.cpp +++ b/src/gui/text/qfont.cpp @@ -1304,13 +1304,14 @@ QDataStream &operator>>(QDataStream &s, QFont &font) font.d = new QFontPrivate; font.resolve_mask = QFont::AllPropertiesResolved; - qint8 hintingPreference = QFont::PreferDefaultHinting, bits; - qint8 weight; + qint8 hintingPreference = QFont::PreferDefaultHinting; + qint8 bits = 0; + qint8 weight = 50; s >> font.d->request.family; - double pointSize; - double pixelSize; + double pointSize = -1.0; + double pixelSize = -1.0; s >> pointSize; s >> pixelSize; font.d->request.pointSize = qreal(pointSize); @@ -1325,7 +1326,7 @@ QDataStream &operator>>(QDataStream &s, QFont &font) set_font_bits(bits, font.d.data()); - qint16 stretch; + qint16 stretch = 100; s >> stretch; font.d->request.stretch = stretch; -- 2.11.0