Fix return value of `FT_Set_Named_Instance' (#56186). * src/truetype/ttgxvar.c (TT_Set_Named_Instance): Correctly handle internal return value -1 of `TT_Set_Var_Design'.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
diff --git a/ChangeLog b/ChangeLog
index 3da7bca..290c865 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2019-04-22 Werner Lemberg <wl@gnu.org>
+
+ Fix return value of `FT_Set_Named_Instance' (#56186).
+
+ * src/truetype/ttgxvar.c (TT_Set_Named_Instance): Correctly handle
+ internal return value -1 of `TT_Set_Var_Design'.
+
2019-04-18 Werner Lemberg <wl@gnu.org>
[pcf] Fix handling of undefined glyph (#56067).
diff --git a/docs/CHANGES b/docs/CHANGES
index 8616981..9f001a9 100644
--- a/docs/CHANGES
+++ b/docs/CHANGES
@@ -15,6 +15,10 @@ CHANGES BETWEEN 2.10.0 and 2.10.1
in version 2.10.0 was partially broken, causing premature abortion
of charmap iteration for many fonts.
+ - If `FT_Set_Named_Instance' was called with the same arguments
+ twice in a row, the function returned an incorrect error code the
+ second time.
+
======================================================================
diff --git a/src/truetype/ttgxvar.c b/src/truetype/ttgxvar.c
index 020918f..6854d23 100644
--- a/src/truetype/ttgxvar.c
+++ b/src/truetype/ttgxvar.c
@@ -3080,7 +3080,12 @@
mmvar->num_axis,
named_style->coords );
if ( error )
+ {
+ /* internal error code -1 means `no change' */
+ if ( error == -1 )
+ error = FT_Err_Ok;
goto Exit;
+ }
}
else
error = TT_Set_Var_Design( face, 0, NULL );