pkgsrc-Changes-HG archive

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

[pkgsrc/trunk]: pkgsrc/devel/pango Fix the GNOME bug 129741, which crashes ma...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/03b2cd7878e6
branches:  trunk
changeset: 479144:03b2cd7878e6
user:      minskim <minskim%pkgsrc.org@localhost>
date:      Fri Aug 06 02:09:38 2004 +0000

description:
Fix the GNOME bug 129741, which crashes many applications, most
notably web browsers.  Patches obtained from Pango CVS.

Bump PKGREVISION.

diffstat:

 devel/pango/Makefile         |   3 +-
 devel/pango/distinfo         |   4 +-
 devel/pango/patches/patch-ab |  12 +++++++
 devel/pango/patches/patch-ac |  67 ++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 84 insertions(+), 2 deletions(-)

diffs (112 lines):

diff -r 1831b0c48786 -r 03b2cd7878e6 devel/pango/Makefile
--- a/devel/pango/Makefile      Thu Aug 05 22:56:21 2004 +0000
+++ b/devel/pango/Makefile      Fri Aug 06 02:09:38 2004 +0000
@@ -1,7 +1,8 @@
-# $NetBSD: Makefile,v 1.42 2004/04/24 17:48:41 minskim Exp $
+# $NetBSD: Makefile,v 1.43 2004/08/06 02:09:38 minskim Exp $
 #
 
 DISTNAME=              pango-1.4.0
+PKGREVISION=           1
 CATEGORIES=            devel
 MASTER_SITES=          ftp://ftp.gtk.org/pub/gtk/v2.4/ \
                        ftp://ftp.cs.umn.edu/pub/gimp/gtk/v2.4/ \
diff -r 1831b0c48786 -r 03b2cd7878e6 devel/pango/distinfo
--- a/devel/pango/distinfo      Thu Aug 05 22:56:21 2004 +0000
+++ b/devel/pango/distinfo      Fri Aug 06 02:09:38 2004 +0000
@@ -1,5 +1,7 @@
-$NetBSD: distinfo,v 1.18 2004/05/09 13:16:02 grant Exp $
+$NetBSD: distinfo,v 1.19 2004/08/06 02:09:38 minskim Exp $
 
 SHA1 (pango-1.4.0.tar.bz2) = 10ea96cb05e0ada51e1b81f68dd1cad56cdd6a99
 Size (pango-1.4.0.tar.bz2) = 921472 bytes
 SHA1 (patch-aa) = ea2fe223d9c7da2a19f1699124a59e6081ab8e9f
+SHA1 (patch-ab) = 4f2f45c19980c32aaebe93bcd56d4ef8d2e9215b
+SHA1 (patch-ac) = e4b07d5b2e1f4f063bb6077182e91d2f56d7f927
diff -r 1831b0c48786 -r 03b2cd7878e6 devel/pango/patches/patch-ab
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/devel/pango/patches/patch-ab      Fri Aug 06 02:09:38 2004 +0000
@@ -0,0 +1,12 @@
+$NetBSD: patch-ab,v 1.9 2004/08/06 02:09:38 minskim Exp $
+
+--- modules/hangul/hangul-defs.h.orig  2002-11-03 13:56:24.000000000 -0600
++++ modules/hangul/hangul-defs.h
+@@ -48,6 +48,7 @@
+ #define HTONE1 0x302E
+ #define HTONE2 0x302F
+ 
++#define IS_JAMO(wc) (wc >= LBASE && wc <= TEND)
+ #define IS_L(wc) (wc >= LBASE && wc <= LEND)
+ #define IS_V(wc) (wc >= VFILL && wc <= VEND)
+ #define IS_T(wc) (wc > TBASE && wc <= TEND)
diff -r 1831b0c48786 -r 03b2cd7878e6 devel/pango/patches/patch-ac
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/devel/pango/patches/patch-ac      Fri Aug 06 02:09:38 2004 +0000
@@ -0,0 +1,67 @@
+$NetBSD: patch-ac,v 1.8 2004/08/06 02:09:38 minskim Exp $
+
+--- modules/hangul/hangul-fc.c.orig    2003-09-23 18:11:51.000000000 -0500
++++ modules/hangul/hangul-fc.c
+@@ -1,7 +1,7 @@
+ /* Pango
+  * hangul-fc.c: Hangul shaper for FreeType based backends
+  *
+- * Copyright (C) 2002 Changwoo Ryu
++ * Copyright (C) 2002-2004 Changwoo Ryu
+  * Author: Changwoo Ryu <cwryu%debian.org@localhost>
+  *
+  * This library is free software; you can redistribute it and/or
+@@ -275,6 +275,21 @@ render_syllable (PangoFont *font, gunich
+     render_tone(font, tone, glyphs, n_glyphs, cluster_offset);
+ }
+ 
++static void
++render_basic (PangoFont *font, gunichar wc,
++            PangoGlyphString *glyphs, int *n_glyphs, int cluster_offset)
++{
++  int index;
++  index = find_char (font, wc);
++  pango_glyph_string_set_size (glyphs, *n_glyphs + 1);
++  if (index)
++    set_glyph (font, glyphs, *n_glyphs, cluster_offset, index);
++  else 
++    set_glyph (font, glyphs, *n_glyphs, cluster_offset,
++             get_unknown_glyph (font, wc));
++  (*n_glyphs)++;
++}
++
+ static void 
+ hangul_engine_shape (PangoEngineShape *engine,
+                    PangoFont        *font,
+@@ -307,13 +322,14 @@ hangul_engine_shape (PangoEngineShape *e
+       if (n_jamos)
+       {
+         gunichar prev = jamos[n_jamos - 1];
+-        if ((!IS_L (prev) && IS_S (wc)) ||
++        if ((!IS_JAMO (wc) && !IS_S (wc) && !IS_M (wc)) ||
++            (!IS_L (prev) && IS_S (wc)) ||
+             (IS_T (prev) && IS_L (wc)) ||
+             (IS_V (prev) && IS_L (wc)) ||
+             (IS_T (prev) && IS_V (wc)) ||
+-            IS_M(prev))
++            IS_M (prev))
+           {
+-            /* Draw a syllable. */
++            /* Draw a syllable with these jamos. */
+             render_syllable (font, jamos, n_jamos, glyphs,
+                              &n_glyphs, start - text);
+             n_jamos = 0;
+@@ -333,7 +349,12 @@ hangul_engine_shape (PangoEngineShape *e
+           jamos = g_renew (gunichar, jamos, max_jamos);
+       }
+ 
+-      if (IS_S (wc))
++      if (!IS_JAMO (wc) && !IS_S (wc) && !IS_M (wc))
++      {
++        render_basic (font, wc, glyphs, &n_glyphs, start - text);
++        start = g_utf8_next_char (p);
++      }
++      else if (IS_S (wc))
+       {
+         jamos[n_jamos++] = L_FROM_S (wc);
+         jamos[n_jamos++] = V_FROM_S (wc);



Home | Main Index | Thread Index | Old Index