summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhai Edwin <edwin.zhai@intel.com>2010-09-02 08:22:10 +0800
committerRichard Purdie <rpurdie@linux.intel.com>2010-09-02 09:53:49 +0100
commit0d7bcdf9fd1bfaebfb5f0b99606e85a8e0229bba (patch)
tree67ef90b98f281032c1e49d7adf0b11e5e9a7889f
parent36aa00b6f704761b6b518729befc936af674c68d (diff)
downloadopenembedded-core-0d7bcdf9fd1bfaebfb5f0b99606e85a8e0229bba.tar.gz
openembedded-core-0d7bcdf9fd1bfaebfb5f0b99606e85a8e0229bba.tar.bz2
openembedded-core-0d7bcdf9fd1bfaebfb5f0b99606e85a8e0229bba.tar.xz
openembedded-core-0d7bcdf9fd1bfaebfb5f0b99606e85a8e0229bba.zip
libmatchbox: Fix the matchbox environment start failure on x86-64 target.
x86 target works well. Root cause is libmatchbox use "0"(int) as termination indicator when calling XftFontOpen, which in turn called FcPatternVapBuild(in fontconfig). It try to get the "0" as char* and fetch wrong value, as int and char* has different size on x86-64. This patch forces a NULL pointer as terminator to fix it. [BUGID #234] is fixed by this Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
-rw-r--r--meta/recipes-graphics/libmatchbox/files/matchbox-start-fix.patch21
-rw-r--r--meta/recipes-graphics/libmatchbox/libmatchbox_1.9.bb5
-rw-r--r--meta/recipes-graphics/libmatchbox/libmatchbox_svn.bb5
3 files changed, 27 insertions, 4 deletions
diff --git a/meta/recipes-graphics/libmatchbox/files/matchbox-start-fix.patch b/meta/recipes-graphics/libmatchbox/files/matchbox-start-fix.patch
new file mode 100644
index 000000000..04460a311
--- /dev/null
+++ b/meta/recipes-graphics/libmatchbox/files/matchbox-start-fix.patch
@@ -0,0 +1,21 @@
+matchbox environment start fail on x86-64 target, while ok on x86 target. Root
+cause is libmatchbox use "0"(int) as termination indicator when calling
+XftFontOpen, which in turn called FcPatternVapBuild(in fontconfig). It try to
+get the "0" as char* and fetch wrong value, as int and char* has different size
+on x86-64. This patch forces a NULL pointer as terminator to fix it.
+
+Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
+
+Index: libmatchbox-1.9/libmb/mbexp.c
+===================================================================
+--- libmatchbox-1.9.orig/libmb/mbexp.c 2010-08-28 06:33:25.000000000 +0800
++++ libmatchbox-1.9/libmb/mbexp.c 2010-08-28 06:30:05.000000000 +0800
+@@ -348,7 +348,7 @@
+ XFT_SIZE, XftTypeDouble , (double)font->pt_size,
+ XFT_WEIGHT, XftTypeInteger, weight,
+ XFT_SLANT, XftTypeInteger , slant,
+- 0);
++ NULL);
+
+ if (font->font != NULL ) result = 2;
+
diff --git a/meta/recipes-graphics/libmatchbox/libmatchbox_1.9.bb b/meta/recipes-graphics/libmatchbox/libmatchbox_1.9.bb
index 1d7d9c8f4..fb554b85f 100644
--- a/meta/recipes-graphics/libmatchbox/libmatchbox_1.9.bb
+++ b/meta/recipes-graphics/libmatchbox/libmatchbox_1.9.bb
@@ -1,11 +1,12 @@
require libmatchbox.inc
-PR = "r7"
+PR = "r8"
SRC_URI = "http://projects.o-hand.com/matchbox/sources/${PN}/${PV}/${PN}-${PV}.tar.gz \
file://16bppfixes.patch;patch=1 \
file://configure_fixes.patch;patch=1 \
- file://check.m4"
+ file://check.m4 \
+ file://matchbox-start-fix.patch;patch=1"
do_configure_prepend () {
cp ${WORKDIR}/check.m4 ${S}/
diff --git a/meta/recipes-graphics/libmatchbox/libmatchbox_svn.bb b/meta/recipes-graphics/libmatchbox/libmatchbox_svn.bb
index 3cdcd324f..98c901f67 100644
--- a/meta/recipes-graphics/libmatchbox/libmatchbox_svn.bb
+++ b/meta/recipes-graphics/libmatchbox/libmatchbox_svn.bb
@@ -1,13 +1,14 @@
require libmatchbox.inc
PV = "1.7+svnr${SRCREV}"
-PR = "r4"
+PR = "r5"
DEFAULT_PREFERENCE = "-1"
SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http \
file://configure_fixes.patch;patch=1 \
file://check.m4 \
- file://16bppfixes.patch;patch=1"
+ file://16bppfixes.patch;patch=1 \
+ file://matchbox-start-fix.patch;patch=1"
S = "${WORKDIR}/libmatchbox"