summaryrefslogtreecommitdiff
path: root/www/firefox3-devel
diff options
context:
space:
mode:
authorAlexander Kabaev <kan@FreeBSD.org>2003-08-12 15:32:13 +0000
committerAlexander Kabaev <kan@FreeBSD.org>2003-08-12 15:32:13 +0000
commit55fc6b08a75996e09c1ef2ce416290fc4ba2091b (patch)
tree32083d29d0ef4ae5f39a4e1972c848071089bd42 /www/firefox3-devel
parentRemove libpanel. It has sered us well, but now that the GNOME 1.4 desktop (diff)
Restore the patch to stop mozilla from crashing on some russian sites.
Notes
Notes: svn path=/head/; revision=86833
Diffstat (limited to 'www/firefox3-devel')
-rw-r--r--www/firefox3-devel/files/patch-gfx_src_gtk_nsFontMetricsXft.cpp57
1 files changed, 57 insertions, 0 deletions
diff --git a/www/firefox3-devel/files/patch-gfx_src_gtk_nsFontMetricsXft.cpp b/www/firefox3-devel/files/patch-gfx_src_gtk_nsFontMetricsXft.cpp
new file mode 100644
index 000000000000..0b0e08247101
--- /dev/null
+++ b/www/firefox3-devel/files/patch-gfx_src_gtk_nsFontMetricsXft.cpp
@@ -0,0 +1,57 @@
+--- gfx/src/gtk/nsFontMetricsXft.cpp.save Thu Aug 7 12:14:49 2003
++++ gfx/src/gtk/nsFontMetricsXft.cpp Thu Aug 7 12:33:45 2003
+@@ -106,6 +106,7 @@
+ FcPattern *mPattern;
+ FcPattern *mFontName;
+ FcCharSet *mCharset;
++ int mNotXft;
+ };
+
+ class nsFontXftInfo;
+@@ -1051,7 +1052,7 @@
+ // font in our loaded list that supports the character
+ for (PRInt32 i = 0, end = mLoadedFonts.Count(); i < end; ++i) {
+ nsFontXft *font = (nsFontXft *)mLoadedFonts.ElementAt(i);
+- if (font->HasChar(PRUint32(aChar)))
++ if (font->HasChar(PRUint32(aChar)) && font->GetXftFont())
+ return font;
+ }
+
+@@ -1492,7 +1493,7 @@
+ // this character.
+ for (PRInt32 j = 0, end = mLoadedFonts.Count(); j < end; ++j) {
+ font = (nsFontXft *)mLoadedFonts.ElementAt(j);
+- if (font->HasChar(c)) {
++ if (font->HasChar(c) && font->GetXftFont()) {
+ currFont = font;
+ goto FoundFont; // for speed -- avoid "if" statement
+ }
+@@ -1922,6 +1923,7 @@
+ FcPatternReference(mFontName);
+
+ mXftFont = nsnull;
++ mNotXft = 0;
+
+ // set up our charset
+ mCharset = nsnull;
+@@ -1948,7 +1950,7 @@
+ XftFont *
+ nsFontXft::GetXftFont(void)
+ {
+- if (!mXftFont) {
++ if (!mXftFont && !mNotXft) {
+ FcPattern *pat = FcFontRenderPrepare(0, mPattern, mFontName);
+ if (!pat)
+ return nsnull;
+@@ -1967,8 +1969,10 @@
+ FcPatternDel(pat, FC_SPACING);
+
+ mXftFont = XftFontOpenPattern(GDK_DISPLAY(), pat);
+- if (!mXftFont)
++ if (!mXftFont) {
+ FcPatternDestroy(pat);
++ mNotXft = 1;
++ }
+ }
+
+ return mXftFont;