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