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:
parent
cc58912acd
commit
ebd8ca146d
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user