[QStaticText] Fix potential font engine leaking

Never assume the engine is still cached but rather delete it
if we are the last consumer.

Change-Id: I4e3c796d45c53f42722a437482d71e2dae14cad2
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
Don't assemble QRawFont from QFont manually

Always prefer QRawFont::fromFont(..)

Change-Id: Ic33f7d3a468f926418b39887f572829af93f8c1d
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
Fix potential access to uninitialized member

If GetTextMetrics() failed, there is no guarantee that
TEXTMETRIC is initialized with any safe values.

Change-Id: Idb5e3bc1bc2451368950978365487c908ce529e7
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
[QAndroidPlatformTheme] Get rid of static QFont

QFont is not POD and shouldn't be instantiated statically,
otherwise we could end up with UB during qApp destruction.

Change-Id: I2372c7a643eb3007957ab2b798732c1a18fd0ae5
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
[QPainter] Fix QTextItem painting with extended paint engine

Multi QFontEngine should be handled just like all other cases
covered several lines below.

Change-Id: If3dd9a2e38a5f6f61b113576cb188da378fc9efb
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
QDistanceField: a zero glyph index means the glyph was not found

In qt_fontHasNarrowOutlines, if we proceed to call alphaMapForGlyph
when the glyph does not exist, there will be a failed assertion.
The docs for FT_Get_Char_Index say that zero means the glyph was
not found.

Change-Id: I371e9a2797a34fa3ebeae44531af51e24dadad79
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Windows: Respect hinting preferences with FreeType engine.

One of the fontEngine()'s methods was missing hinting. This bug only
manifests on Windows because on Linux QFontConfigDataBase already sets
hinting on both code paths.

Task-number: QTBUG-42534
Change-Id: I3a66a9d4aaa5e390fee305a3d5aacfeba38a1fc3
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Improve diaglib.

- Fix prototype for glinfo() for Qt 4
- Add more event types and object type flags to event filter.

Change-Id: Ia4160b40486d054e860a339e7b5c9c28695330ae
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>