Blame SOURCES/0001-Fix-assertion-failure-in-the-freetype-backend.patch

0419ab
From 7554822dd0b52d33ec7898e81b59e97164b00142 Mon Sep 17 00:00:00 2001
0419ab
From: Uli Schlachter <psychon@znc.in>
0419ab
Date: Sat, 21 Apr 2018 09:37:06 +0200
0419ab
Subject: [PATCH] Fix assertion failure in the freetype backend
0419ab
0419ab
Fonts are kept in a hash table, so when creating a new font, the code
0419ab
first checks the hash table for an already-existing entry and only then
0419ab
is a new instance really created. There is an assert that checks that
0419ab
the key used for the hash table lookup is the same as the instance that
0419ab
is created later has, because otherwise the hash table was checked
0419ab
incorrectly.
0419ab
0419ab
This assert failed in some conditions.
0419ab
0419ab
Fix this by fixing some places that initialised ft hash keys in a wrong
0419ab
way.
0419ab
0419ab
Patch by Behdad Esfahbod and submitted via bugzilla.
0419ab
0419ab
Source: https://bugs.freedesktop.org/show_bug.cgi?id=105746#c4
0419ab
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=105746
0419ab
Signed-off-by: Uli Schlachter <psychon@znc.in>
0419ab
---
0419ab
 src/cairo-ft-font.c | 4 ++--
0419ab
 1 file changed, 2 insertions(+), 2 deletions(-)
0419ab
0419ab
diff --git a/src/cairo-ft-font.c b/src/cairo-ft-font.c
0419ab
index 79aef78f5b0d..9b10708988d7 100644
0419ab
--- a/src/cairo-ft-font.c
0419ab
+++ b/src/cairo-ft-font.c
0419ab
@@ -445,7 +445,7 @@ _cairo_ft_unscaled_font_init (cairo_ft_unscaled_font_t *unscaled,
0419ab
 
0419ab
     if (from_face) {
0419ab
 	unscaled->from_face = TRUE;
0419ab
-	_cairo_ft_unscaled_font_init_key (unscaled, TRUE, NULL, face->face_index, face);
0419ab
+	_cairo_ft_unscaled_font_init_key (unscaled, TRUE, NULL, id, face);
0419ab
 
0419ab
 
0419ab
         unscaled->have_color = FT_HAS_COLOR (face) != 0;
0419ab
@@ -640,7 +640,7 @@ static cairo_status_t
0419ab
 _cairo_ft_unscaled_font_create_from_face (FT_Face face,
0419ab
 					  cairo_ft_unscaled_font_t **out)
0419ab
 {
0419ab
-    return _cairo_ft_unscaled_font_create_internal (TRUE, NULL, 0, face, out);
0419ab
+    return _cairo_ft_unscaled_font_create_internal (TRUE, NULL, face->face_index, face, out);
0419ab
 }
0419ab
 
0419ab
 static cairo_bool_t
0419ab
-- 
0419ab
2.17.0
0419ab