emacs-diffs
[Top][All Lists]
Advanced

[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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]