summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2021-02-24 22:46:20 +0000
committerMatthias Clasen <mclasen@redhat.com>2021-02-24 22:46:20 +0000
commit4dfe591823eec1d5f702a909ae9206f5fa5cb47d (patch)
tree4ca1ce620c11405a9df8bd81eae4fba0731fb0e5
parent4a3eac9f139b5697ef454491ac590d75473c96a9 (diff)
parent744dc2218208790535ff26aad4d07c88026dc63d (diff)
downloadpango-4dfe591823eec1d5f702a909ae9206f5fa5cb47d.tar.gz
Merge branch 'fontmap-thread-fix' into 'master'
fc: Fix an ordering issue Closes #537 See merge request GNOME/pango!290
-rw-r--r--pango/pangofc-fontmap.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/pango/pangofc-fontmap.c b/pango/pangofc-fontmap.c
index aa90345e..fef3394a 100644
--- a/pango/pangofc-fontmap.c
+++ b/pango/pangofc-fontmap.c
@@ -800,6 +800,10 @@ static ThreadData *
thread_data_new (PangoFcPatterns *patterns)
{
ThreadData *td;
+ PangoFcFontMap *fontmap = patterns->fontmap;
+
+ /* We don't want the fontmap dying on us */
+ g_object_ref (fontmap);
td = g_new (ThreadData, 1);
td->patterns = pango_fc_patterns_ref (patterns);
@@ -814,12 +818,15 @@ static void
thread_data_free (gpointer data)
{
ThreadData *td = data;
+ PangoFcFontMap *fontmap = td->patterns->fontmap;
g_clear_pointer (&td->fonts, FcFontSetDestroy);
FcPatternDestroy (td->pattern);
FcConfigDestroy (td->config);
pango_fc_patterns_unref (td->patterns);
g_free (td);
+
+ g_object_unref (fontmap);
}
static void