2213e9a1d9
* Add some extra CLI options to the mozilla.sh script [2] * Add a patch to prevent crashes when visiting certain Russian sites [3] * Add a dependency on devel/nspr to avoid problems with Galeon and Epiphany in certain setups [4] PR: 55330 [1] 55412 [2] Submitted by: Alexander Nedotsukov <bland@mail.ru> [1] [2] Sergey Akifyev <asa@gascom.ru> [4] Obtained from: www/mozilla-firebird [3]
57 lines
1.7 KiB
C++
57 lines
1.7 KiB
C++
--- 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;
|