[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master b2366900d49 2/2: Do not overwrite flags of succeeding points duri
From: |
Po Lu |
Subject: |
master b2366900d49 2/2: Do not overwrite flags of succeeding points during generic move |
Date: |
Mon, 22 Jan 2024 03:02:19 -0500 (EST) |
branch: master
commit b2366900d4981c13152ef7fe15a44ad9b4b7663b
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>
Do not overwrite flags of succeeding points during generic move
* src/sfnt.c (sfnt_move): Save FLAGS and restore it after X
axis movement loop.
---
src/sfnt.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/sfnt.c b/src/sfnt.c
index 7b4c5544dc1..ce7765e8f3e 100644
--- a/src/sfnt.c
+++ b/src/sfnt.c
@@ -10776,6 +10776,7 @@ sfnt_move (sfnt_f26dot6 *restrict x, sfnt_f26dot6
*restrict y,
sfnt_f26dot6 versor, k;
sfnt_f2dot14 dot_product;
size_t num;
+ unsigned char *flags_start;
dot_product = interpreter->state.vector_dot_product;
@@ -10788,6 +10789,10 @@ sfnt_move (sfnt_f26dot6 *restrict x, sfnt_f26dot6
*restrict y,
other out, so the result is 26.6. */
versor = interpreter->state.freedom_vector.x;
+ /* Save flags that it may be restored for the second Y axis
+ loop. */
+ flags_start = flags;
+
if (versor)
{
/* Move along X axis, converting the distance to the freedom
@@ -10807,6 +10812,7 @@ sfnt_move (sfnt_f26dot6 *restrict x, sfnt_f26dot6
*restrict y,
}
}
+ flags = flags_start;
versor = interpreter->state.freedom_vector.y;
if (versor)