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>
This commit is contained in:
Zhai Edwin authored and Richard Purdie committed 2010-09-02 09:53:49 +01:00
1 parent 36aa00b6f7
commit 0d7bcdf9fd
3 files changed
+27 -4

No files matched your search

@@ -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;
@@ -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}/
@@ -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"