pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/x11/libXft Fix three bugs:



details:   https://anonhg.NetBSD.org/pkgsrc/rev/5f1ae66df4e5
branches:  trunk
changeset: 538117:5f1ae66df4e5
user:      bjs <bjs%pkgsrc.org@localhost>
date:      Tue Jan 29 04:18:44 2008 +0000

description:
Fix three bugs:

- XftFontOpenInfo: Use of uninitialised value of size 8 (bug 11200)
- libXft was using XFT_MAX_GLYPH_MEMORY without first registering
  with fontconfig.
- Include <ftsynth.h> if FT_GlyphSlot_Embolden() shall be called.

First two from GIT, last one by me.

Bump rev.

diffstat:

 x11/libXft/Makefile         |   3 ++-
 x11/libXft/distinfo         |   5 ++++-
 x11/libXft/patches/patch-ac |  30 ++++++++++++++++++++++++++++++
 x11/libXft/patches/patch-ad |  17 +++++++++++++++++
 x11/libXft/patches/patch-ae |  21 +++++++++++++++++++++
 5 files changed, 74 insertions(+), 2 deletions(-)

diffs (107 lines):

diff -r 3bf17227706a -r 5f1ae66df4e5 x11/libXft/Makefile
--- a/x11/libXft/Makefile       Tue Jan 29 03:58:27 2008 +0000
+++ b/x11/libXft/Makefile       Tue Jan 29 04:18:44 2008 +0000
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.4 2007/01/23 15:20:08 joerg Exp $
+# $NetBSD: Makefile,v 1.5 2008/01/29 04:18:44 bjs Exp $
 
 DISTNAME=      libXft-2.1.12
+PKGREVISION=   1
 CATEGORIES=    fonts x11
 MASTER_SITES=  http://xorg.freedesktop.org/releases/individual/lib/
 EXTRACT_SUFX=  .tar.bz2
diff -r 3bf17227706a -r 5f1ae66df4e5 x11/libXft/distinfo
--- a/x11/libXft/distinfo       Tue Jan 29 03:58:27 2008 +0000
+++ b/x11/libXft/distinfo       Tue Jan 29 04:18:44 2008 +0000
@@ -1,7 +1,10 @@
-$NetBSD: distinfo,v 1.2 2007/01/23 15:20:08 joerg Exp $
+$NetBSD: distinfo,v 1.3 2008/01/29 04:18:44 bjs Exp $
 
 SHA1 (libXft-2.1.12.tar.bz2) = c55fb1b79e6e8459a343e4986f0607a438eff340
 RMD160 (libXft-2.1.12.tar.bz2) = 98ee482a0bdb9d41bbea667ea84d00421e51424b
 Size (libXft-2.1.12.tar.bz2) = 260437 bytes
 SHA1 (patch-aa) = aa6f081596084e97e3767ce2b1d4648cf7917a6c
 SHA1 (patch-ab) = e275990e6469819724d76b393d8a451cca778f9a
+SHA1 (patch-ac) = d00925dcc3ad35933036c6708626d9b745712119
+SHA1 (patch-ad) = 6257e56f6347a898fd6208d131a41581d900d6cb
+SHA1 (patch-ae) = 09d00a1cda14b6a7a2e6a38597b538948889179a
diff -r 3bf17227706a -r 5f1ae66df4e5 x11/libXft/patches/patch-ac
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/x11/libXft/patches/patch-ac       Tue Jan 29 04:18:44 2008 +0000
@@ -0,0 +1,30 @@
+$NetBSD: patch-ac,v 1.1 2008/01/29 04:18:44 bjs Exp $
+
+XftFontOpenInfo: Use of uninitialised value of size 8 (bug 11200)
+(from freedesktop.org GIT)
+
+--- src/xftfreetype.c.orig     2006-12-07 05:17:19.000000000 -0500
++++ src/xftfreetype.c
+@@ -392,6 +392,13 @@ XftFontInfoFill (Display *dpy, _Xconst F
+       return FcFalse;
+ 
+     /*
++     * Initialize the whole XftFontInfo so that padding doesn't interfere with
++     * hash or XftFontInfoEqual().
++     */
++ 
++    memset (fi, '\0', sizeof(*fi));
++
++    /*
+      * Find the associated file
+      */
+     switch (FcPatternGetString (pattern, FC_FILE, 0, &filename)) {
+@@ -419,8 +426,6 @@ XftFontInfoFill (Display *dpy, _Xconst F
+     else if (FcPatternGetFTFace (pattern, FC_FT_FACE, 0, &face) == FcResultMatch
+            && face)
+       fi->file = _XftGetFaceFile (face);
+-    else
+-      fi->file = 0;
+     if (!fi->file)
+         goto bail0;
+ 
diff -r 3bf17227706a -r 5f1ae66df4e5 x11/libXft/patches/patch-ad
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/x11/libXft/patches/patch-ad       Tue Jan 29 04:18:44 2008 +0000
@@ -0,0 +1,17 @@
+$NetBSD: patch-ad,v 1.1 2008/01/29 04:18:45 bjs Exp $
+
+Register objects used by libXft. (patch from freedesktop.org GIT)
+ 
+libXft was using XFT_MAX_GLYPH_MEMORY without first registering
+with fontconfig.
+
+--- src/xftname.c.orig 2006-12-07 05:17:45.000000000 -0500
++++ src/xftname.c
+@@ -28,6 +28,7 @@ static const FcObjectType    _XftObjectType
+     { XFT_CORE,               FcTypeBool, },
+     { XFT_XLFD,               FcTypeString, },
+     { XFT_RENDER,     FcTypeBool, },
++    { XFT_MAX_GLYPH_MEMORY, FcTypeInteger, },
+ };
+ 
+ #define NUM_OBJECT_TYPES    (sizeof _XftObjectTypes / sizeof _XftObjectTypes[0])
diff -r 3bf17227706a -r 5f1ae66df4e5 x11/libXft/patches/patch-ae
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/x11/libXft/patches/patch-ae       Tue Jan 29 04:18:44 2008 +0000
@@ -0,0 +1,21 @@
+$NetBSD: patch-ae,v 1.1 2008/01/29 04:18:45 bjs Exp $
+
+If HAVE_FT_GLYPHSLOT_EMBOLDEN is defined in config.h, then
+FT_GlyphSlot_Embolden() is called.  This function's prototype
+is in <freetype/ftsynth.h>, so conditionally include it.
+
+Implicit declaration bad.  Prototypes good.  Fixes warning.
+
+--- src/xftglyphs.c.orig       2006-12-07 05:17:19.000000000 -0500
++++ src/xftglyphs.c
+@@ -25,6 +25,10 @@
+ #include "xftint.h"
+ #include <freetype/ftoutln.h>
+ 
++#if HAVE_FT_GLYPHSLOT_EMBOLDEN
++#include <freetype/ftsynth.h>
++#endif
++
+ static const int    filters[3][3] = {
+     /* red */
+ #if 0



Home | Main Index | Thread Index | Old Index