pkgsrc/www/seamonkey/patches/patch-ai
markd 98639647ef Fix crash after printing caused by trying to destroy the same charset
structure multiple times.  Bump PKGREVISION.
2006-10-19 10:25:17 +00:00

71 lines
2.5 KiB
Text

$NetBSD: patch-ai,v 1.2 2006/10/19 10:25:36 markd Exp $
--- gfx/src/ps/nsFontMetricsPS.cpp.orig 2006-05-07 14:01:25.000000000 +1200
+++ gfx/src/ps/nsFontMetricsPS.cpp
@@ -993,7 +993,7 @@ nsFontPSXft::FindFont(PRUnichar aChar, c
fontps *fps = new fontps;
fps->entry = xftEntry;
- fps->charset = fc_charset;
+ fps->charset = FcCharSetCopy (fc_charset);
fps->fontps = nsnull;
fpi.fontps->AppendElement(fps);
}
@@ -1868,10 +1868,10 @@ nsFontPSFreeType::Init(nsITrueTypeFontCa
mPixelSize = NSToIntRound(app2dev * mFont->size);
- mImageDesc.font.face_id = (void*)mEntry;
- mImageDesc.font.pix_width = mPixelSize;
- mImageDesc.font.pix_height = mPixelSize;
- mImageDesc.image_type = 0;
+ mImageDesc->face_id = (FTC_FaceID)&mEntry;
+ mImageDesc->width = mPixelSize;
+ mImageDesc->height = mPixelSize;
+ mImageDesc->flags = 0;
nsresult rv;
mFt2 = do_GetService(NS_FREETYPE2_CONTRACTID, &rv);
@@ -1905,7 +1905,7 @@ nsFontPSFreeType::GetWidth(const PRUnich
if (!face)
return 0;
- FTC_Image_Cache iCache;
+ FTC_ImageCache iCache;
nsresult rv = mFt2->GetImageCache(&iCache);
if (NS_FAILED(rv)) {
NS_ERROR("Failed to get Image Cache");
@@ -1943,8 +1943,8 @@ nsFontPSFreeType::getFTFace()
FTC_Manager cManager;
mFt2->GetFTCacheManager(&cManager);
- nsresult rv = mFt2->ManagerLookupSize(cManager, &mImageDesc.font,
- &face, nsnull);
+ nsresult rv = mFt2->ManagerLookupFace(cManager, mImageDesc->face_id,
+ &face);
NS_ASSERTION(rv==0, "failed to get face/size");
if (rv)
return nsnull;
@@ -2388,16 +2388,16 @@ void nsFT2Type1Generator::GeneratePSFont
mEntry->GetFamilyName(fontName);
mEntry->GetStyleName(styleName);
- mImageDesc.font.face_id = (void*)mEntry;
+ mImageDesc->face_id = (FTC_FaceID)&mEntry;
// TT glyph has no relation to size
- mImageDesc.font.pix_width = 16;
- mImageDesc.font.pix_height = 16;
- mImageDesc.image_type = 0;
+ mImageDesc->width = 16;
+ mImageDesc->height = 16;
+ mImageDesc->flags = 0;
FT_Face face = nsnull;
FTC_Manager cManager;
mFt2->GetFTCacheManager(&cManager);
- nsresult rv = mFt2->ManagerLookupSize(cManager, &mImageDesc.font,
- &face, nsnull);
+ nsresult rv = mFt2->ManagerLookupFace(cManager, mImageDesc->face_id,
+ &face);
if (NS_FAILED(rv))
return;