diff options
Diffstat (limited to 'fontconfig')
-rw-r--r-- | fontconfig/README | 10 | ||||
-rw-r--r-- | fontconfig/configure.ac | 2 | ||||
-rw-r--r-- | fontconfig/fontconfig/fontconfig.h | 2 | ||||
-rw-r--r-- | fontconfig/src/fccfg.c | 15 |
4 files changed, 25 insertions, 4 deletions
diff --git a/fontconfig/README b/fontconfig/README index abaf506b8..06f862b21 100644 --- a/fontconfig/README +++ b/fontconfig/README @@ -1,12 +1,18 @@ Fontconfig Font configuration and customization library - Version 2.10.94 (2.11 RC4) - 2013-08-29 + Version 2.10.95 (2.11 RC5) + 2013-08-31 Check INSTALL for compilation and installation instructions. Report bugs to https://bugs.freedesktop.org in the fontconfig module. +2.10.95 (2.11 RC5) + +Akira TAGOH (2): + Fix a typo + Fix a crash + 2.10.94 (2.11 RC4) Akira TAGOH (25): diff --git a/fontconfig/configure.ac b/fontconfig/configure.ac index 12d414938..952e73766 100644 --- a/fontconfig/configure.ac +++ b/fontconfig/configure.ac @@ -33,7 +33,7 @@ dnl This is the package version number, not the shared library dnl version. This same version number must appear in fontconfig/fontconfig.h dnl Yes, it is a pain to synchronize version numbers. Unfortunately, it's dnl not possible to extract the version number here from fontconfig.h -AC_INIT([fontconfig], [2.10.94], [https://bugs.freedesktop.org/enter_bug.cgi?product=fontconfig]) +AC_INIT([fontconfig], [2.10.95], [https://bugs.freedesktop.org/enter_bug.cgi?product=fontconfig]) AM_INIT_AUTOMAKE([1.11 parallel-tests dist-bzip2]) m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])]) diff --git a/fontconfig/fontconfig/fontconfig.h b/fontconfig/fontconfig/fontconfig.h index 9a667022b..079177d4c 100644 --- a/fontconfig/fontconfig/fontconfig.h +++ b/fontconfig/fontconfig/fontconfig.h @@ -52,7 +52,7 @@ typedef int FcBool; #define FC_MAJOR 2 #define FC_MINOR 10 -#define FC_REVISION 94 +#define FC_REVISION 95 #define FC_VERSION ((FC_MAJOR * 10000) + (FC_MINOR * 100) + (FC_REVISION)) diff --git a/fontconfig/src/fccfg.c b/fontconfig/src/fccfg.c index b88095bc6..6377fd7c6 100644 --- a/fontconfig/src/fccfg.c +++ b/fontconfig/src/fccfg.c @@ -1500,6 +1500,7 @@ FcConfigSubstituteWithPat (FcConfig *config, FcPatternElt **elt = NULL, *e; int i, nobjs; FcBool retval = FcTrue; + FcTest **tst = NULL; if (!config) { @@ -1557,6 +1558,12 @@ FcConfigSubstituteWithPat (FcConfig *config, retval = FcFalse; goto bail1; } + tst = (FcTest **) malloc (SIZEOF_VOID_P * nobjs); + if (!tst) + { + retval = FcFalse; + goto bail1; + } if (FcDebug () & FC_DBG_EDIT) { @@ -1570,6 +1577,7 @@ FcConfigSubstituteWithPat (FcConfig *config, { elt[i] = NULL; value[i] = NULL; + tst[i] = NULL; } for (; r; r = r->next) { @@ -1598,7 +1606,10 @@ FcConfigSubstituteWithPat (FcConfig *config, e = NULL; /* different 'kind' won't be the target of edit */ if (!elt[object] && kind == r->u.test->kind) + { elt[object] = e; + tst[object] = r->u.test; + } /* * If there's no such field in the font, * then FcQualAll matches while FcQualAny does not @@ -1646,6 +1657,8 @@ FcConfigSubstituteWithPat (FcConfig *config, * Evaluate the list of expressions */ l = FcConfigValues (p, p_pat,kind, r->u.edit->expr, r->u.edit->binding); + if (tst[object] && (tst[object]->kind == FcMatchFont || kind == FcMatchPattern)) + elt[object] = FcPatternObjectFindElt (p, tst[object]->object); switch (FC_OP_GET_OP (r->u.edit->op)) { case FcOpAssign: @@ -1748,6 +1761,8 @@ bail1: free (elt); if (value) free (value); + if (tst) + free (tst); return retval; } |