From bed28dede9b6272183347ba05e2dbfc02bf71ec4 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 22 Aug 2020 19:01:58 -0400 Subject: Get the coverage order early on Trigger the generation of the coverage order as soon as fontconfig is initialized. --- pango/pangofc-fontmap.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/pango/pangofc-fontmap.c b/pango/pangofc-fontmap.c index a2aefcf3..68a642cd 100644 --- a/pango/pangofc-fontmap.c +++ b/pango/pangofc-fontmap.c @@ -1441,6 +1441,20 @@ wait_for_fc_init (void) pango_trace_mark (before, "wait for FcInit", NULL); } +static void +fc_init_done (GObject *source_object, + GAsyncResult *result, + gpointer data) +{ + PangoFcFontMap *fcfontmap = PANGO_FC_FONT_MAP (source_object); + + if (fcfontmap->priv->closed) + return; + + /* prepare fonts, and trigger coverage calculation */ + pango_fc_font_map_get_config_fonts (fcfontmap); +} + static void pango_fc_font_map_init (PangoFcFontMap *fcfontmap) { @@ -1476,7 +1490,7 @@ pango_fc_font_map_init (PangoFcFontMap *fcfontmap) { GTask *task; - task = g_task_new (fcfontmap, NULL, NULL, NULL); + task = g_task_new (fcfontmap, NULL, fc_init_done, NULL); g_task_set_name (task, "[pango] FcInit"); g_task_run_in_thread (task, init_in_thread); g_object_unref (task); -- cgit v1.2.1