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

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