Fix size of HB_FontRec in qharfbuzz_copy_p.h

HB_FontRec was defined in qharfbuzz_copy_p.h as a void* typedef,
which is incorrect, and is the wrong size. This caused things
accessing QFontEngine data after an HB_FontRec to read from the
wrong offset. The visible consequence of this was incorrect text
rendering in OpenGL in Linux.

Task-number: QTBUG-29966

Change-Id: I71e6a6c5b4ef7b2c8a92631d2b9540537afc56b1
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
This commit is contained in:
Josh Faust 2013-03-08 16:06:00 -08:00 committed by The Qt Project
parent cc58912acd
commit ebd8ca146d

View File

@ -69,8 +69,9 @@ typedef enum {
typedef QT_PREPEND_NAMESPACE(quint32) HB_Glyph;
typedef void * HB_Font;
typedef void * HB_Face;
typedef void * HB_FontRec;
typedef QT_PREPEND_NAMESPACE(quint32) hb_uint32;
typedef QT_PREPEND_NAMESPACE(quint16) HB_UShort;
typedef QT_PREPEND_NAMESPACE(qint32) HB_16Dot16;
typedef QT_PREPEND_NAMESPACE(qint32) HB_Fixed;
typedef struct {
@ -88,6 +89,16 @@ typedef struct {
hb_bitfield combiningClass :8;
} HB_GlyphAttributes;
typedef struct HB_Font_ {
const void *klass;
/* Metrics */
HB_UShort x_ppem, y_ppem;
HB_16Dot16 x_scale, y_scale;
void *userData;
} HB_FontRec;
}
#endif // ifdef QT_BUILD_GUI_LIB