[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2] master 68fb478: * src/autofit/afhints.c (af_get_segment_inde
From: |
Werner LEMBERG |
Subject: |
[freetype2] master 68fb478: * src/autofit/afhints.c (af_get_segment_index): Fix it. |
Date: |
Sun, 15 Nov 2015 12:07:04 +0000 |
branch: master
commit 68fb4789a582561606fafbe51e7a217598bb35ec
Author: Werner Lemberg <address@hidden>
Commit: Werner Lemberg <address@hidden>
* src/autofit/afhints.c (af_get_segment_index): Fix it.
The old code was too simple, returning invalid values in most cases
where a segment crosses the contour start.
---
ChangeLog | 7 +++++++
src/autofit/afhints.c | 16 ++++++++++++++--
2 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index a39a56a..f62d5de 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2015-11-15 Werner Lemberg <address@hidden>
+ * src/autofit/afhints.c (af_get_segment_index): Fix it.
+
+ The old code was too simple, returning invalid values in most cases
+ where a segment crosses the contour start.
+
+2015-11-15 Werner Lemberg <address@hidden>
+
* src/bdf/bdflib.c (bdf_load_font): Fix small memory leak (#46439).
2015-11-11 Werner Lemberg <address@hidden>
diff --git a/src/autofit/afhints.c b/src/autofit/afhints.c
index 6743878..56c8220 100644
--- a/src/autofit/afhints.c
+++ b/src/autofit/afhints.c
@@ -257,11 +257,23 @@
}
else
{
- if ( point >= segment->first || point <= segment->last )
- break;
+ AF_Point p = segment->first;
+
+
+ for (;;)
+ {
+ if ( point == p )
+ goto Exit;
+
+ if ( p == segment->last )
+ break;
+
+ p = p->next;
+ }
}
}
+ Exit:
if ( segment == limit )
return -1;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2] master 68fb478: * src/autofit/afhints.c (af_get_segment_index): Fix it.,
Werner LEMBERG <=