bump icu
This commit is contained in:
parent
07a40ef8eb
commit
b92b053d67
@ -1,62 +0,0 @@
|
||||
--- icu/source/layout/LookupProcessor.h 2011-02-03 09:20:27.657005678 +0000
|
||||
+++ icu/source/layout/LookupProcessor.h 2011-02-03 09:25:34.498396208 +0000
|
||||
@@ -58,6 +58,7 @@
|
||||
const FeatureListTable *featureListTable;
|
||||
|
||||
FeatureMask *lookupSelectArray;
|
||||
+ le_uint32 lookupSelectCount;
|
||||
|
||||
le_uint16 *lookupOrderArray;
|
||||
le_uint32 lookupOrderCount;
|
||||
--- icu/source/layout/LookupProcessor.cpp 2011-02-02 12:29:54.369077099 +0000
|
||||
+++ icu/source/layout/LookupProcessor.cpp 2011-02-02 12:31:54.215503036 +0000
|
||||
@@ -70,6 +70,10 @@
|
||||
|
||||
if (selectMask != 0) {
|
||||
const LookupTable *lookupTable = lookupListTable->getLookupTable(lookup);
|
||||
+
|
||||
+ if (!lookupTable)
|
||||
+ continue;
|
||||
+
|
||||
le_uint16 lookupFlags = SWAPW(lookupTable->lookupFlags);
|
||||
|
||||
glyphIterator.reset(lookupFlags, selectMask);
|
||||
@@ -111,6 +115,9 @@
|
||||
for (le_uint16 lookup = 0; lookup < lookupCount; lookup += 1) {
|
||||
le_uint16 lookupListIndex = SWAPW(featureTable->lookupListIndexArray[lookup]);
|
||||
|
||||
+ if (lookupListIndex >= lookupSelectCount)
|
||||
+ continue;
|
||||
+
|
||||
lookupSelectArray[lookupListIndex] |= featureMask;
|
||||
lookupOrderArray[store++] = lookupListIndex;
|
||||
}
|
||||
@@ -122,7 +129,7 @@
|
||||
Offset scriptListOffset, Offset featureListOffset, Offset lookupListOffset,
|
||||
LETag scriptTag, LETag languageTag, const FeatureMap *featureMap, le_int32 featureMapCount, le_bool orderFeatures,
|
||||
LEErrorCode& success)
|
||||
- : lookupListTable(NULL), featureListTable(NULL), lookupSelectArray(NULL),
|
||||
+ : lookupListTable(NULL), featureListTable(NULL), lookupSelectArray(NULL), lookupSelectCount(0),
|
||||
lookupOrderArray(NULL), lookupOrderCount(0)
|
||||
{
|
||||
const ScriptListTable *scriptListTable = NULL;
|
||||
@@ -170,6 +177,8 @@
|
||||
lookupSelectArray[i] = 0;
|
||||
}
|
||||
|
||||
+ lookupSelectCount = lookupListCount;
|
||||
+
|
||||
le_int32 count, order = 0;
|
||||
le_int32 featureReferences = 0;
|
||||
const FeatureTable *featureTable = NULL;
|
||||
@@ -186,6 +195,10 @@
|
||||
le_uint16 featureIndex = SWAPW(langSysTable->featureIndexArray[feature]);
|
||||
|
||||
featureTable = featureListTable->getFeatureTable(featureIndex, &featureTag);
|
||||
+
|
||||
+ if (!featureTable)
|
||||
+ continue;
|
||||
+
|
||||
featureReferences += SWAPW(featureTable->lookupCount);
|
||||
}
|
||||
|
14
icu.8800.freeserif.crash.patch
Normal file
14
icu.8800.freeserif.crash.patch
Normal file
@ -0,0 +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 @@
|
||||
|
||||
if (requiredFeatureIndex != 0xFFFF) {
|
||||
requiredFeatureTable = featureListTable->getFeatureTable(requiredFeatureIndex, &requiredFeatureTag);
|
||||
- featureReferences += SWAPW(featureTable->lookupCount);
|
||||
+ if (requiredFeatureTable) {
|
||||
+ featureReferences += SWAPW(requiredFeatureTable->lookupCount);
|
||||
+ }
|
||||
}
|
||||
|
||||
lookupOrderArray = LE_NEW_ARRAY(le_uint16, featureReferences);
|
14
icu.spec
14
icu.spec
@ -1,17 +1,17 @@
|
||||
Name: icu
|
||||
Version: 4.6
|
||||
Release: 2%{?dist}
|
||||
Version: 4.8.1
|
||||
Release: 1%{?dist}
|
||||
Summary: International Components for Unicode
|
||||
Group: Development/Tools
|
||||
License: MIT and UCD and Public Domain
|
||||
URL: http://www.icu-project.org/
|
||||
Source: http://download.icu-project.org/files/icu4c/4.6/icu4c-4_6-src.tgz
|
||||
Source: http://download.icu-project.org/files/icu4c/4.8.1/icu4c-4_8_1-src.tgz
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
BuildRequires: doxygen, autoconf
|
||||
Requires: lib%{name} = %{version}-%{release}
|
||||
|
||||
Patch1: icu.8198.revert.icu5431.patch
|
||||
Patch2: icu.8320.freeserif.crash.patch
|
||||
Patch2: icu.8800.freeserif.crash.patch
|
||||
|
||||
%description
|
||||
Tools and utilities for developing with icu.
|
||||
@ -52,7 +52,7 @@ BuildArch: noarch
|
||||
%prep
|
||||
%setup -q -n %{name}
|
||||
%patch1 -p2 -R -b .icu8198.revert.icu5431.patch
|
||||
%patch2 -p1 -b .icu8320.freeserif.crash.patch
|
||||
%patch2 -p1 -b .icu8800.freeserif.crash.patch
|
||||
|
||||
%build
|
||||
cd source
|
||||
@ -140,6 +140,10 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%doc source/__docs/%{name}/html/*
|
||||
|
||||
%changelog
|
||||
* Wed Sep 07 2011 Caolán McNamara <caolanm@redhat.com> - 4.8.1-1
|
||||
- Resolves: rhbz#681941 don't link unneccessary -lm, etc.
|
||||
- add icu.8800.freeserif.crash.patch
|
||||
|
||||
* Tue Mar 08 2011 Caolán McNamara <caolanm@redhat.com> - 4.6-2
|
||||
- Resolves: rhbz#681941 don't link unneccessary -lm, etc.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user