https://git.reactos.org/?p=reactos.git;a=commitdiff;h=d7c47feb25ce8af855ce0…
commit d7c47feb25ce8af855ce0ad4202d0499c8a1b1bd
Author: Amine Khaldi <amine.khaldi(a)reactos.org>
AuthorDate: Sat Jan 20 22:30:11 2018 +0100
Commit: Amine Khaldi <amine.khaldi(a)reactos.org>
CommitDate: Sun Jan 21 13:31:05 2018 +0100
[FREETYPE] Bring back our diffs to reduce the stack usage in cf2_interpT2CharString().
CORE-14227
---
sdk/lib/3rdparty/freetype/src/psaux/psintrp.c | 22 +++++++++++++++++++++-
1 file changed, 21 insertions(+), 1 deletion(-)
diff --git a/sdk/lib/3rdparty/freetype/src/psaux/psintrp.c
b/sdk/lib/3rdparty/freetype/src/psaux/psintrp.c
index 5c0ee78492..1ac5b9392b 100644
--- a/sdk/lib/3rdparty/freetype/src/psaux/psintrp.c
+++ b/sdk/lib/3rdparty/freetype/src/psaux/psintrp.c
@@ -525,8 +525,13 @@
CF2_ArrStackRec vStemHintArray;
CF2_HintMaskRec hintMask;
+#ifdef __REACTOS__
+ CF2_GlyphPathRec *glyphPath = malloc(sizeof(CF2_GlyphPathRec));
+/* Ugly but it allows us to reduce the diff */
+#define glyphPath (*glyphPath)
+#else
CF2_GlyphPathRec glyphPath;
-
+#endif
FT_ZERO( &storage );
FT_ZERO( &results );
@@ -2606,7 +2611,13 @@
* discard `counterMask' and `counterHintMap'.
*
*/
+#ifdef __REACTOS__
+ CF2_HintMapRec *counterHintMap = malloc(sizeof(CF2_HintMapRec));
+/* Ugly but it allows us to reduce the diff */
+#define counterHintMap (*counterHintMap)
+#else
CF2_HintMapRec counterHintMap;
+#endif
CF2_HintMaskRec counterMask;
@@ -2627,6 +2638,9 @@
&counterMask,
0,
FALSE );
+#ifdef __REACTOS__
+ free(&counterHintMap);
+#endif
}
break;
@@ -3031,6 +3045,12 @@
FT_TRACE4(( "\n" ));
+#ifdef __REACTOS__
+ free(&glyphPath);
+#undef counterHintMap
+#undef glyphPath
+#endif
+
return;
}