Merge lp:~arand/ubuntu/lucid/pango-graphite/suggested-sru-patch into lp:ubuntu/lucid/pango-graphite

Proposed by Martin Erik Werner
Status: Merged
Approved by: Martin Pitt
Approved revision: 4
Merge reported by: Martin Pitt
Merged at revision: not available
Proposed branch: lp:~arand/ubuntu/lucid/pango-graphite/suggested-sru-patch
Merge into: lp:ubuntu/lucid/pango-graphite
Diff against target: 99 lines (+87/-0)
2 files modified
debian/changelog (+8/-0)
debian/patches/u01_crasher-fix.patch (+79/-0)
To merge this branch: bzr merge lp:~arand/ubuntu/lucid/pango-graphite/suggested-sru-patch
Reviewer Review Type Date Requested Status
Martin Pitt Approve
Review via email: mp+113699@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Martin Pitt (pitti) wrote :

Thanks! Uploaded to lucid-proposed queue.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'debian/changelog'
2--- debian/changelog 2008-03-22 10:14:24 +0000
3+++ debian/changelog 2012-07-06 07:42:32 +0000
4@@ -1,3 +1,11 @@
5+pango-graphite (0.9.2-3.1ubuntu0.1) lucid; urgency=low
6+
7+ * Add debian/patches/u01_crasher-fix.patch:
8+ Fixes for causing crashes in several applications, including GDM
9+ (LP: #540035)
10+
11+ -- Martin Erik Werner <martinerikwerner@gmail.com> Fri, 06 Jul 2012 00:25:22 +0200
12+
13 pango-graphite (0.9.2-3.1) unstable; urgency=medium
14
15 * Non-maintainer upload.
16
17=== added file 'debian/patches/u01_crasher-fix.patch'
18--- debian/patches/u01_crasher-fix.patch 1970-01-01 00:00:00 +0000
19+++ debian/patches/u01_crasher-fix.patch 2012-07-06 07:42:32 +0000
20@@ -0,0 +1,79 @@
21+Description: Fixes for causing crashes in several applications
22+ This patch consists of all the code changes from pango-graphite v0.9.2 to
23+ v0.9.3, with autotools and documentation changes stripped.
24+ .
25+ The patch was created for an Ubuntu "Stable Release Update" and solves
26+ several crashes which pango-graphite caused in other applications, for
27+ example GDM.
28+Origin: upstream, http://sourceforge.net/projects/silgraphite/files/pango-graphite/0.9.3/pango-graphite-0.9.3.tar.gz
29+Bug-Ubuntu: https://launchpad.net/bugs/540035
30+Bug-Debian: http://bugs.debian.org/471642
31+Forwarded: not-needed
32+Last-Update: 2012-07-06
33+
34+diff -Nurp pango-graphite-0.9.2/graphite-module.c pango-graphite-0.9.3/graphite-module.c
35+--- pango-graphite-0.9.2/graphite-module.c 2007-08-27 18:26:02.000000000 +0200
36++++ pango-graphite-0.9.3/graphite-module.c 2008-04-07 09:35:07.000000000 +0200
37+@@ -44,7 +44,11 @@ typedef PangoEngineLangClass GraphiteEng
38+
39+
40+ static PangoEngineScriptInfo graphite_scripts[] = {
41++#if (PANGO_MAJOR_VERSION > 1 || PANGO_MINOR_VERSION > 18)
42++ { PANGO_SCRIPT_COMMON, "" }, /* Zyyy */
43++#else
44+ { PANGO_SCRIPT_COMMON, "*" }, /* Zyyy */
45++#endif
46+ { PANGO_SCRIPT_INHERITED, "*" }, /* Qaai */
47+ { PANGO_SCRIPT_ARABIC, "*" }, /* Arab */
48+ { PANGO_SCRIPT_ARMENIAN, "*" }, /* Armn */
49+diff -Nurp pango-graphite-0.9.2/graphitecache.h pango-graphite-0.9.3/graphitecache.h
50+--- pango-graphite-0.9.2/graphitecache.h 2007-08-27 18:26:02.000000000 +0200
51++++ pango-graphite-0.9.3/graphitecache.h 2008-05-09 06:55:52.000000000 +0200
52+@@ -25,6 +25,7 @@
53+ #include "PangoTextSrc.h"
54+ #include "PangoGrFont.h"
55+ #include <graphite/Segment.h>
56++#include <graphite/SegmentAux.h>
57+
58+ using gr::PangoTextSrc;
59+ using gr::PangoGrFont;
60+diff -Nurp pango-graphite-0.9.2/pangographite.cpp pango-graphite-0.9.3/pangographite.cpp
61+--- pango-graphite-0.9.2/pangographite.cpp 2007-08-27 18:26:02.000000000 +0200
62++++ pango-graphite-0.9.3/pangographite.cpp 2008-05-09 06:54:01.000000000 +0200
63+@@ -27,6 +27,8 @@
64+ typedef std::pair<gr::GlyphIterator, gr::GlyphIterator> GlyphRange;
65+ typedef std::pair<gr::GlyphSetIterator, gr::GlyphSetIterator> GrGlyphSet;
66+
67++static gr::LayoutEnvironment default_layout;
68++
69+ void graphite_PangoLogAttrs(const char *text,
70+ int length,
71+ PangoFcFont *xftfont,
72+@@ -47,13 +49,14 @@ void graphite_PangoLogAttrs(const char
73+ }
74+
75+ RangeSegment *grseg = NULL;
76+- grseg = graphite_GetSegment(pTextSrc, pgrFont);
77++ grseg = graphite_GetSegment(pTextSrc, pgrFont);
78+ if (!grseg)
79+ {
80+ try
81+ {
82++ default_layout.setDumbFallback(true);
83+ pgrFont->lockFace();
84+- grseg = new RangeSegment(pgrFont, pTextSrc, NULL, 0, length);
85++ grseg = new RangeSegment(pgrFont, pTextSrc, &default_layout, 0, length);
86+ pgrFont->unlockFace();
87+ graphite_CacheSegment(pTextSrc, pgrFont, grseg);
88+ }
89+@@ -187,8 +190,9 @@ void graphite_PangoGlyphString(const cha
90+ grseg = graphite_GetSegment(pTextSrc, pgrFont);
91+ if (!grseg)
92+ {
93++ default_layout.setDumbFallback(true);
94+ pgrFont->lockFace();
95+- grseg = new RangeSegment(pgrFont, pTextSrc, NULL, 0, length);
96++ grseg = new RangeSegment(pgrFont, pTextSrc, &default_layout, 0, length);
97+ pgrFont->unlockFace();
98+ graphite_CacheSegment(pTextSrc, pgrFont, grseg);
99+ }

Subscribers

People subscribed via source and target branches