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 - 50.1.2-6 +- Resolves: rhbz#966141 various flaws in Layout Engine font processing + * Mon Feb 25 2013 Eike Rathke - 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