ref: 28018d42a83f8c8547fb5d3d5e697f187e23eb44
parent: 4728993fa8aa1739800c2bb0c0beb9a0d4da62db
author: Alexei Podtelezhnikov <[email protected]>
date: Mon Aug 11 20:26:16 EDT 2014
[base] Handle collapsed outlines to avoid undefined FT_MSB. * src/base/ftoutln.c (FT_Outline_Get_Orientation): Update.
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2014-08-11 Alexei Podtelezhnikov <[email protected]>
+ [base] Handle collapsed outlines to avoid undefined FT_MSB.
+
+ * src/base/ftoutln.c (FT_Outline_Get_Orientation): Update.
+
+2014-08-11 Alexei Podtelezhnikov <[email protected]>
+
[base] Restore FT_MulFix inlining.
* include/freetype.h (FT_MulFix): Unconditionally defined.
--- a/src/base/ftoutln.c
+++ b/src/base/ftoutln.c
@@ -1045,6 +1045,10 @@
FT_Outline_Get_CBox( outline, &cbox );
+ /* Handle collapsed outlines to avoid undefined FT_MSB. */
+ if ( cbox.xMin == cbox.xMax || cbox.yMin == cbox.yMax )
+ return FT_ORIENTATION_NONE;
+
xshift = FT_MSB( FT_ABS( cbox.xMax ) | FT_ABS( cbox.xMin ) ) - 14;
xshift = FT_MAX( xshift, 0 );