aboutsummaryrefslogtreecommitdiff
path: root/fontconfig
diff options
context:
space:
mode:
Diffstat (limited to 'fontconfig')
-rw-r--r--fontconfig/README10
-rw-r--r--fontconfig/configure.ac2
-rw-r--r--fontconfig/fontconfig/fontconfig.h2
-rw-r--r--fontconfig/src/fccfg.c15
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;
}