Fix conditional jump based on an uninitialized variable.
authorJędrzej Nowacki <jedrzej.nowacki@digia.com>
Fri, 2 Nov 2012 12:59:04 +0000 (13:59 +0100)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Sat, 3 Nov 2012 10:20:26 +0000 (11:20 +0100)
commitfb0f58f50f30116fc72ca0e8d0fbea1331052c22
tree8fe7dedfa9c87ff0917a51d60a276dee3964d6b2
parent8fb379dc8a4d7069a99c3181283e581b86e99ceb
Fix conditional jump based on an uninitialized variable.

Valgrind warns about the jump in qfontconfigdatabase.cpp:522 based on
uint QFondDef::hintingPreference:2 property. Surprising thing is that
the property is initialized in the default constructor, so there should
not be an issue.

The warning disappear if the property is _not_ placed on a boundary of a
two words, or if bit field is fully initialized. So I suspect that only
one bit of the two was initialized properly.

I decide to implement both solutions because of a potential minor
performance improvement, during reading the property.

I still fail to say why the value was uninitialized, I believe that this
patch simply workarounds gcc bug or valgrind bug.

Change-Id: I2e87738f66a435ef6e30b3d2db6baa73da025426
Reviewed-by: Jiang Jiang <gzjjgod@gmail.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
src/gui/text/qfont_p.h