Bug 578336 – ABI breakage from 1.22 to 1.24 in fontmap field of PangoFcFont
Commit
9305b9a9995e84ace3818a90346820ef8c47a3ce introduced a "fontmap"
property in PangoFcFont and expected all subclasses to set it upon
construction. And PangoFcFontSet was changed to not set fcfont->fontmap
anymore.
Relax this change to make it backward compatible by:
1) Making "fontmap" property a not-construct-only property
2) In PangoFcFontSet, set "fontmap" if not already set
This should make it backward compatible, while allowing new code to set the
property instead of relying on PangoFcFontSet to do it.
"Font Map",
"The PangoFc font map this font is associated with (Since: 1.26)",
PANGO_TYPE_FC_FONT_MAP,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
g_type_class_add_private (object_class, sizeof (PangoFcFontPrivate));
return NULL;
fcfont->matrix = key.matrix;
+ /* In case the backend didn't set the fontmap */
+ if (!fcfont->fontmap)
+ g_object_set (fcfont,
+ "fontmap", fcfontmap,
+ NULL);
/* cache it on fontmap */
pango_fc_font_map_add (fcfontmap, &key, fcfont);