aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLi Zhou <li.zhou@windriver.com>2016-03-01 13:23:33 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-03-09 16:54:36 +0000
commit563922edefee882a04622ab0d78c25c61dfd851c (patch)
treea4ae1d904f6eb49a9a0273341ede6eb4f6a52d6e
parentd801547f6fe4315da6476ed9fc4ccca2a6983421 (diff)
downloadopenembedded-core-contrib-563922edefee882a04622ab0d78c25c61dfd851c.tar.gz
openembedded-core-contrib-563922edefee882a04622ab0d78c25c61dfd851c.tar.bz2
openembedded-core-contrib-563922edefee882a04622ab0d78c25c61dfd851c.zip
fontconfig: Revert changes made to FcConfigAppFontAddDir() recently
Backport <commit 46ec6a52d4cc447cc3ff4a13b2067ecb76c9db2e> from fontconfig upstream <http://cgit.freedesktop.org/fontconfig/> to solve issue: fontconfig changes break pybootchartgui tool generating bootchart png file. Signed-off-by: Li Zhou <li.zhou@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-graphics/fontconfig/fontconfig/0001-Revert-changes-made-to-FcConfigAppFontAddDir-recentl.patch132
-rw-r--r--meta/recipes-graphics/fontconfig/fontconfig_2.11.94.bb1
2 files changed, 133 insertions, 0 deletions
diff --git a/meta/recipes-graphics/fontconfig/fontconfig/0001-Revert-changes-made-to-FcConfigAppFontAddDir-recentl.patch b/meta/recipes-graphics/fontconfig/fontconfig/0001-Revert-changes-made-to-FcConfigAppFontAddDir-recentl.patch
new file mode 100644
index 00000000000..f2fd5d47315
--- /dev/null
+++ b/meta/recipes-graphics/fontconfig/fontconfig/0001-Revert-changes-made-to-FcConfigAppFontAddDir-recentl.patch
@@ -0,0 +1,132 @@
+From 46ec6a52d4cc447cc3ff4a13b2067ecb76c9db2e Mon Sep 17 00:00:00 2001
+From: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri, 26 Jun 2015 17:02:13 -0700
+Subject: [PATCH] Revert changes made to FcConfigAppFontAddDir() recently
+
+In 32ac7c75e8db0135ef37cf86f92d8b9be000c8bb the behavior of
+FcConfigAppFontAddFile/Dir() were changed to return false
+if not fonts were found. While this is welldefined and useful
+for AddFile(), it's quite problematic for AddDir(). For example,
+if the directory is empty, is that a failure or success? Worse,
+the false value from AddDir() was being propagated all the way
+to FcInit() returning false now. This only happened upon memory
+allocation failure before, and some clients assert that FcInit()
+is successful.
+
+With this change, AddDir() is reverted back to what it was.
+AddFont() change (which was actually in fcdir.c) from the original
+commit is left in.
+
+Upstream-Status: backport
+
+Signed-off-by: Li Zhou <li.zhou@windriver.com>
+---
+ doc/fcconfig.fncs | 2 +-
+ src/fccfg.c | 29 +++++++++++------------------
+ src/fcint.h | 3 ---
+ src/fcstr.c | 8 --------
+ 4 files changed, 12 insertions(+), 30 deletions(-)
+
+Index: fontconfig-2.11.94/doc/fcconfig.fncs
+===================================================================
+--- fontconfig-2.11.94.orig/doc/fcconfig.fncs
++++ fontconfig-2.11.94/doc/fcconfig.fncs
+@@ -232,7 +232,7 @@ the current configuration is used.
+ @DESC@
+ Scans the specified directory for fonts, adding each one found to the
+ application-specific set of fonts. Returns FcFalse
+-if the fonts cannot be added (due to allocation failure or no fonts found).
++if the fonts cannot be added (due to allocation failure).
+ Otherwise returns FcTrue. If <parameter>config</parameter> is NULL,
+ the current configuration is used.
+ @@
+Index: fontconfig-2.11.94/src/fccfg.c
+===================================================================
+--- fontconfig-2.11.94.orig/src/fccfg.c
++++ fontconfig-2.11.94/src/fccfg.c
+@@ -368,7 +368,6 @@ FcConfigAddDirList (FcConfig *config, Fc
+ FcStrList *dirlist;
+ FcChar8 *dir;
+ FcCache *cache;
+- FcBool ret = FcFalse;
+
+ dirlist = FcStrListCreate (dirSet);
+ if (!dirlist)
+@@ -383,10 +382,9 @@ FcConfigAddDirList (FcConfig *config, Fc
+ continue;
+ FcConfigAddCache (config, cache, set, dirSet);
+ FcDirCacheUnload (cache);
+- ret = FcTrue;
+ }
+ FcStrListDone (dirlist);
+- return ret;
++ return FcTrue;
+ }
+
+ /*
+@@ -2199,7 +2197,6 @@ FcConfigAppFontAddFile (FcConfig *con
+ FcStrSet *subdirs;
+ FcStrList *sublist;
+ FcChar8 *subdir;
+- FcBool ret = FcFalse;
+
+ if (!config)
+ {
+@@ -2229,19 +2226,16 @@ FcConfigAppFontAddFile (FcConfig *con
+ FcStrSetDestroy (subdirs);
+ return FcFalse;
+ }
+- if (subdirs->num == 0)
+- ret = FcTrue;
+- else if ((sublist = FcStrListCreate (subdirs)))
++ if ((sublist = FcStrListCreate (subdirs)))
+ {
+ while ((subdir = FcStrListNext (sublist)))
+ {
+- if (FcConfigAppFontAddDir (config, subdir))
+- ret = FcTrue;
++ FcConfigAppFontAddDir (config, subdir);
+ }
+ FcStrListDone (sublist);
+ }
+ FcStrSetDestroy (subdirs);
+- return ret;
++ return FcTrue;
+ }
+
+ FcBool
+@@ -2250,7 +2244,6 @@ FcConfigAppFontAddDir (FcConfig *con
+ {
+ FcFontSet *set;
+ FcStrSet *dirs;
+- FcBool ret = FcTrue;
+
+ if (!config)
+ {
+@@ -2269,8 +2262,8 @@ FcConfigAppFontAddDir (FcConfig *con
+ set = FcFontSetCreate ();
+ if (!set)
+ {
+- ret = FcFalse;
+- goto bail;
++ FcStrSetDestroy (dirs);
++ return FcFalse;
+ }
+ FcConfigSetFonts (config, set, FcSetApplication);
+ }
+@@ -2278,10 +2271,12 @@ FcConfigAppFontAddDir (FcConfig *con
+ FcStrSetAddFilename (dirs, dir);
+
+ if (!FcConfigAddDirList (config, FcSetApplication, dirs))
+- ret = FcFalse;
+-bail:
++ {
++ FcStrSetDestroy (dirs);
++ return FcFalse;
++ }
+ FcStrSetDestroy (dirs);
+- return ret;
++ return FcTrue;
+ }
+
+ void
diff --git a/meta/recipes-graphics/fontconfig/fontconfig_2.11.94.bb b/meta/recipes-graphics/fontconfig/fontconfig_2.11.94.bb
index b3bc7ebf4a9..b427947a93d 100644
--- a/meta/recipes-graphics/fontconfig/fontconfig_2.11.94.bb
+++ b/meta/recipes-graphics/fontconfig/fontconfig_2.11.94.bb
@@ -22,6 +22,7 @@ DEPENDS = "expat freetype zlib"
SRC_URI = "http://fontconfig.org/release/fontconfig-${PV}.tar.gz \
file://revert-static-pkgconfig.patch \
+ file://0001-Revert-changes-made-to-FcConfigAppFontAddDir-recentl.patch \
"
SRC_URI[md5sum] = "479be870c7f83f15f87bac085b61d641"
SRC_URI[sha256sum] = "73f6d323c7bcfbde25d78397675191d55b8f4139132c6a9444410f3a2d8a9a95"