ref: 553c9672b35dd39e4ccfe564084ec67bd218d45f
parent: 0098d5502d384e1dd41ec42a3cbf9dee1916ed72
author: Werner Lemberg <[email protected]>
date: Sun Dec 7 14:29:52 EST 2014
Work around a bug in Borland's C++ compiler. See http://qc.embarcadero.com/wc/qcmain.aspx?d=118998 for Borland's bug tracker entry. Reported by Yuliana Zigangirova <[email protected]>, http://lists.gnu.org/archive/html/freetype-devel/2014-04/msg00001.html. * include/internal/ftvalid.h (FT_ValidatorRec), src/smooth/ftgrays.c (gray_TWorker_): Move `ft_jmp_buf' field to be the first element.
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,21 @@
2014-12-07 Werner Lemberg <[email protected]>
+ Work around a bug in Borland's C++ compiler.
+
+ See
+
+ http://qc.embarcadero.com/wc/qcmain.aspx?d=118998
+
+ for Borland's bug tracker entry.
+
+ Reported by Yuliana Zigangirova <[email protected]>,
+ http://lists.gnu.org/archive/html/freetype-devel/2014-04/msg00001.html.
+
+ * include/internal/ftvalid.h (FT_ValidatorRec), src/smooth/ftgrays.c
+ (gray_TWorker_): Move `ft_jmp_buf' field to be the first element.
+
+2014-12-07 Werner Lemberg <[email protected]>
+
*/*: Decorate hex constants with `U' and `L' where appropriate.
2014-12-07 Werner Lemberg <[email protected]>
--- a/include/internal/ftvalid.h
+++ b/include/internal/ftvalid.h
@@ -87,12 +87,12 @@
/* validator structure */
typedef struct FT_ValidatorRec_
{
+ ft_jmp_buf jump_buffer; /* used for exception handling */
+
const FT_Byte* base; /* address of table in memory */
const FT_Byte* limit; /* `base' + sizeof(table) in memory */
FT_ValidationLevel level; /* validation level */
FT_Error error; /* error returned. 0 means success */
-
- ft_jmp_buf jump_buffer; /* used for exception handling */
} FT_ValidatorRec;
--- a/src/smooth/ftgrays.c
+++ b/src/smooth/ftgrays.c
@@ -405,6 +405,8 @@
typedef struct gray_TWorker_
{
+ ft_jmp_buf jump_buffer;
+
TCoord ex, ey;
TPos min_ex, max_ex;
TPos min_ey, max_ey;
@@ -439,8 +441,6 @@
int band_size;
int band_shoot;
-
- ft_jmp_buf jump_buffer;
void* buffer;
long buffer_size;