diff options
Diffstat (limited to 'core/src/fxge/fx_freetype/fxft2.5.01/src/cff/cf2ft.c')
-rw-r--r-- | core/src/fxge/fx_freetype/fxft2.5.01/src/cff/cf2ft.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/core/src/fxge/fx_freetype/fxft2.5.01/src/cff/cf2ft.c b/core/src/fxge/fx_freetype/fxft2.5.01/src/cff/cf2ft.c index 4311d10756..7f82b247af 100644 --- a/core/src/fxge/fx_freetype/fxft2.5.01/src/cff/cf2ft.c +++ b/core/src/fxge/fx_freetype/fxft2.5.01/src/cff/cf2ft.c @@ -143,6 +143,7 @@ /* downcast the object pointer */ CF2_Outline outline = (CF2_Outline)callbacks; CFF_Builder* builder; + FT_Error error; FT_ASSERT( outline && outline->decoder ); @@ -154,15 +155,18 @@ { /* record the move before the line; also check points and set */ /* `path_begun' */ - cff_builder_start_point( builder, + error = cff_builder_start_point(builder, params->pt0.x, params->pt0.y ); + if (callbacks && callbacks->error) *callbacks->error = error; + if (error) return; } /* `cff_builder_add_point1' includes a check_points call for one point */ - cff_builder_add_point1( builder, + error = cff_builder_add_point1(builder, params->pt1.x, params->pt1.y ); + if (callbacks && callbacks->error) *callbacks->error = error; } @@ -173,6 +177,7 @@ /* downcast the object pointer */ CF2_Outline outline = (CF2_Outline)callbacks; CFF_Builder* builder; + FT_Error error; FT_ASSERT( outline && outline->decoder ); @@ -184,13 +189,17 @@ { /* record the move before the line; also check points and set */ /* `path_begun' */ - cff_builder_start_point( builder, + error = cff_builder_start_point( builder, params->pt0.x, params->pt0.y ); + if (callbacks && callbacks->error) *callbacks->error = error; + if (error) return; } /* prepare room for 3 points: 2 off-curve, 1 on-curve */ - cff_check_points( builder, 3 ); + error = cff_check_points( builder, 3 ); + if (callbacks && callbacks->error) *callbacks->error = error; + if (error) return; cff_builder_add_point( builder, params->pt1.x, |