[icu/f19] Resolves: rhbz#966141 various flaws in Layout Engine font processing
Eike Rathke
erack at fedoraproject.org
Wed Jul 17 11:47:14 UTC 2013
commit fa01eb34f9e115dac751acf788089fc05ea02068
Author: Eike Rathke <erack at redhat.com>
Date: Wed Jul 17 12:11:34 2013 +0200
Resolves: rhbz#966141 various flaws in Layout Engine font processing
Applies ICU layout "patch", adapts existing patch and adds patch for
https://ssl.icu-project.org/trac/ticket/10143
.gitignore | 1 +
icu.10143.memory.leak.crash.patch | 11 +++++++++++
icu.8800.freeserif.crash.patch | 18 +++++++++---------
icu.spec | 13 +++++++++++--
sources | 1 +
5 files changed, 33 insertions(+), 11 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e116a82..ab4ceb6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
/icu4c-5*-src.tgz
+/icu-51-layout-fix-10107.tgz
/icu-config.sh
diff --git a/icu.10143.memory.leak.crash.patch b/icu.10143.memory.leak.crash.patch
new file mode 100644
index 0000000..5b64562
--- /dev/null
+++ b/icu.10143.memory.leak.crash.patch
@@ -0,0 +1,11 @@
+diff -ru orig.icu/source/layout/LayoutEngine.cpp icu/source/layout/LayoutEngine.cpp
+--- orig.icu/source/layout/LayoutEngine.cpp 2013-04-18 23:32:39.000000000 +0200
++++ icu/source/layout/LayoutEngine.cpp 2013-07-17 01:52:18.208537348 +0200
+@@ -512,7 +512,6 @@
+ {
+ if(fGlyphStorage!=NULL) {
+ fGlyphStorage->reset();
+- fGlyphStorage = NULL;
+ }
+ }
+
diff --git a/icu.8800.freeserif.crash.patch b/icu.8800.freeserif.crash.patch
index c2e0be6..04278d3 100644
--- a/icu.8800.freeserif.crash.patch
+++ b/icu.8800.freeserif.crash.patch
@@ -1,14 +1,14 @@
-diff -urN icu.old/source/layout/LookupProcessor.cpp icu/source/layout/LookupProcessor.cpp
---- icu.old/source/layout/LookupProcessor.cpp 2011-09-05 18:35:11.221515458 +0200
-+++ icu/source/layout/LookupProcessor.cpp 2011-09-05 18:41:30.021510913 +0200
-@@ -201,7 +201,9 @@
+diff -ru orig.icu/source/layout/LookupProcessor.cpp icu/source/layout/LookupProcessor.cpp
+--- orig.icu/source/layout/LookupProcessor.cpp 2013-04-18 23:32:30.000000000 +0200
++++ icu/source/layout/LookupProcessor.cpp 2013-07-17 01:09:57.792635999 +0200
+@@ -220,7 +220,9 @@
if (requiredFeatureIndex != 0xFFFF) {
- requiredFeatureTable = featureListTable->getFeatureTable(requiredFeatureIndex, &requiredFeatureTag);
-- featureReferences += SWAPW(featureTable->lookupCount);
-+ if (requiredFeatureTable) {
-+ featureReferences += SWAPW(requiredFeatureTable->lookupCount);
-+ }
+ requiredFeatureTable = featureListTable->getFeatureTable(featureListTable, requiredFeatureIndex, &requiredFeatureTag, success);
+- featureReferences += SWAPW(featureTable->lookupCount);
++ if (requiredFeatureTable.isValid()) {
++ featureReferences += SWAPW(requiredFeatureTable->lookupCount);
++ }
}
lookupOrderArray = LE_NEW_ARRAY(le_uint16, featureReferences);
diff --git a/icu.spec b/icu.spec
index e94b680..718c45a 100644
--- a/icu.spec
+++ b/icu.spec
@@ -1,12 +1,15 @@
Name: icu
Version: 50.1.2
-Release: 5%{?dist}
+Release: 6%{?dist}
Summary: International Components for Unicode
Group: Development/Tools
License: MIT and UCD and Public Domain
URL: http://www.icu-project.org/
Source0: http://download.icu-project.org/files/icu4c/50.1.2/icu4c-50_1_2-src.tgz
-Source1: icu-config.sh
+# According to ICU the layout "patch" should be applied to all versions earlier than 51.2
+# See also http://site.icu-project.org/download/51#TOC-Known-Issues
+Source1: http://download.icu-project.org/files/icu4c/51.1/icu-51-layout-fix-10107.tgz
+Source2: icu-config.sh
BuildRequires: doxygen, autoconf, python
Requires: lib%{name} = %{version}-%{release}
@@ -16,6 +19,7 @@ Patch3: icu.7601.Indic-ccmp.patch
Patch4: icu.9948.mlym-crash.patch
Patch5: gennorm2-man.patch
Patch6: icuinfo-man.patch
+Patch7: icu.10143.memory.leak.crash.patch
%description
Tools and utilities for developing with icu.
@@ -58,12 +62,14 @@ BuildArch: noarch
%prep
%setup -q -n %{name}
+%setup -q -n %{name} -T -D -a 1
%patch1 -p2 -R -b .icu8198.revert.icu5431.patch
%patch2 -p1 -b .icu8800.freeserif.crash.patch
%patch3 -p1 -b .icu7601.Indic-ccmp.patch
%patch4 -p1 -b .icu9948.mlym-crash.patch
%patch5 -p1 -b .gennorm2-man.patch
%patch6 -p1 -b .icuinfo-man.patch
+%patch7 -p1 -b .icu10143.memory.leak.crash.patch
%build
cd source
@@ -171,6 +177,9 @@ make %{?_smp_mflags} -C source check
%doc source/__docs/%{name}/html/*
%changelog
+* Wed Jul 17 2013 Eike Rathke <erack at redhat.com> - 50.1.2-6
+- Resolves: rhbz#966141 various flaws in Layout Engine font processing
+
* Mon Feb 25 2013 Eike Rathke <erack at redhat.com> - 50.1.2-5
- added manpages for gennorm2 and icuinfo, rhbz#884035 related
diff --git a/sources b/sources
index 9739fd1..5185b8b 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,3 @@
beb98aa972219c9fcd9c8a71314943c9 icu4c-50_1_2-src.tgz
+7650341b04f05ff2595bf064f3e41f41 icu-51-layout-fix-10107.tgz
d28e7ab76e0f77044153f3bfd18880c2 icu-config.sh
More information about the scm-commits
mailing list