summaryrefslogtreecommitdiff
path: root/www/mozilla-devel/files
diff options
context:
space:
mode:
Diffstat (limited to 'www/mozilla-devel/files')
-rw-r--r--www/mozilla-devel/files/patch-gfx::src::x11shared::nsFreeType.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/www/mozilla-devel/files/patch-gfx::src::x11shared::nsFreeType.cpp b/www/mozilla-devel/files/patch-gfx::src::x11shared::nsFreeType.cpp
new file mode 100644
index 000000000000..6a3b2827c5f3
--- /dev/null
+++ b/www/mozilla-devel/files/patch-gfx::src::x11shared::nsFreeType.cpp
@@ -0,0 +1,28 @@
+
+$FreeBSD$
+
+--- gfx/src/x11shared/nsFreeType.cpp.orig Fri Mar 1 00:37:13 2002
++++ gfx/src/x11shared/nsFreeType.cpp Mon Mar 18 21:11:36 2002
+@@ -1340,12 +1340,20 @@
+ nsFreeTypeFace *
+ nsFreeTypeGetFaceID(nsFontCatalogEntry *aFce)
+ {
+- // in this hash each ttc face has a unique key
+- nsCStringKey key(nsFT2FontCatalog::GetFamilyName(aFce));
++ // We need to have separate keys for the different faces in a ttc file.
++ // We append a slash and the face index to the file name to give us a
++ // unique key for each ttc face.
++ nsCAutoString key_str(nsFT2FontCatalog::GetFileName(aFce));
++ char buf[20];
++ sprintf(buf, "/%d", nsFT2FontCatalog::GetFaceIndex(aFce));
++ key_str.Append(buf);
++ nsCStringKey key(key_str);
+ nsFreeTypeFace *face = (nsFreeTypeFace *)gFreeTypeFaces->Get(&key);
+ if (!face) {
+ face = new nsFreeTypeFace(aFce);
+ NS_ASSERTION(face, "memory error while creating nsFreeTypeFace");
++ if (!face)
++ return nsnull;
+ gFreeTypeFaces->Put(&key, face);
+ }
+ return face;