summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2020-08-22 19:01:58 -0400
committerMatthias Clasen <mclasen@redhat.com>2021-02-22 08:34:16 -0500
commitbed28dede9b6272183347ba05e2dbfc02bf71ec4 (patch)
tree81f3d4d2abc8c89d404b8489995dfae728e330be
parentd7d6a09ab991a8632202c0ad0de17808550f1568 (diff)
downloadpango-bed28dede9b6272183347ba05e2dbfc02bf71ec4.tar.gz
Get the coverage order early on
Trigger the generation of the coverage order as soon as fontconfig is initialized.
-rw-r--r--pango/pangofc-fontmap.c16
1 files changed, 15 insertions, 1 deletions
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
@@ -1442,6 +1442,20 @@ wait_for_fc_init (void)
}
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)
{
PangoFcFontMapPrivate *priv;
@@ -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);