Source code
Revision control
Copy as Markdown
Other Tools
diff --git a/src/cairo-ft-font.c b/src/cairo-ft-font.c
index c637942e455c..de5f0a293214 100644
--- a/src/cairo-ft-font.c
+++ b/src/cairo-ft-font.c
@@ -527,6 +527,9 @@ _cairo_ft_unscaled_font_init (cairo_ft_unscaled_font_t *unscaled,
}
if (getVar && getVarDesignCoords) {
+ /* The external face may already be in use by another renderer. */
+ if (face_context)
+ mozilla_LockSharedFTFace (face_context, NULL);
if (0 == (*getVar) (face, &ft_mm_var))
{
unscaled->variations = _cairo_calloc_ab (ft_mm_var->num_axis, sizeof (FT_Fixed));
@@ -537,6 +540,8 @@ _cairo_ft_unscaled_font_init (cairo_ft_unscaled_font_t *unscaled,
else
free (ft_mm_var);
}
+ if (face_context)
+ mozilla_UnlockSharedFTFace (face_context);
}
} else {
char *filename_copy;