ソースを参照

include FreeBSD bugfixing patches

Ralf S. Engelschall 23 年 前
コミット
37bf21937c
2 ファイル変更103 行追加1 行削除
  1. 102 0
      mozilla/mozilla.patch
  2. 1 1
      mozilla/mozilla.spec

+ 102 - 0
mozilla/mozilla.patch

@@ -39,3 +39,105 @@
  
  ifdef USE_ELF_DYNSTR_GC
  export:: elf-dynstr-gc
+--- nsprpub/pr/src/misc/prnetdb.c	16 Jan 2003 23:09:16 -0000	3.21.2.8
++++ nsprpub/pr/src/misc/prnetdb.c	25 Jan 2003 00:12:13 -0000
+@@ -319,7 +319,7 @@
+     PR_Free(buf);
+ }
+ 
+-#elif (defined(DARWIN) && defined(HAVE_GETIFADDRS))
++#elif (defined(DARWIN) && defined(HAVE_GETIFADDRS)) || defined(FREEBSD)
+ 
+ /*
+  * Use the BSD getifaddrs function.
+--- nsprpub/pr/src/misc/prtime.c.orig	Sun Mar 31 12:17:46 2002
++++ nsprpub/pr/src/misc/prtime.c	Tue Dec 17 21:30:30 2002
+@@ -1666,12 +1666,13 @@
+  * values for these two fields.
+  */
+ 
+-#if defined(SUNOS4) || (__GLIBC__ >= 2) || defined(XP_BEOS)
++#if defined(__FreeBSD__)|| defined(SUNOS4) \
++		|| (__GLIBC__ >= 2) || defined(XP_BEOS)
+     if (mktime(&a) == -1) {
+         PR_snprintf(buf, buflen, "can't get timezone");
+         return 0;
+     }
+-#endif
++#endif /* check for __FreeBSD__, too <alane@freebsd.org> */
+ 
+     return strftime(buf, buflen, fmt, &a);
+ }
+--- gfx/src/gtk/nsFontMetricsXft.cpp.orig	Mon Mar 31 12:30:39 2003
++++ gfx/src/gtk/nsFontMetricsXft.cpp	Mon Mar 31 12:30:58 2003
+@@ -84,6 +84,7 @@
+     FcPattern *mPattern;
+     FcPattern *mFontName;
+     FcCharSet *mCharset;
++    int        mNotXft;
+ };
+ 
+ struct MozXftLangGroup {
+@@ -375,7 +376,7 @@
+         PRInt32 end = mLoadedFonts.Count();
+         for (PRInt32 j = 0; j < end; ++j) {
+             font = (nsFontXft *)mLoadedFonts.ElementAt(j);
+-            if (FcCharSetHasChar(font->mCharset, c)) {
++            if (FcCharSetHasChar(font->mCharset, c) && font->GetXftFont()) {
+                 currFont = font;
+                 goto FoundFont; // for speed -- avoid "if" statement
+             }
+@@ -635,7 +636,7 @@
+ 
+         for (PRInt32 j = 0, end = mLoadedFonts.Count(); j < end; ++j) {
+             font = (nsFontXft *)mLoadedFonts.ElementAt(j);
+-            if (FcCharSetHasChar(font->mCharset, c)) {
++            if (FcCharSetHasChar(font->mCharset, c) && font->GetXftFont()) {
+                 currFont = font;
+                 goto FoundFont; // for speed -- avoid "if" statement
+             }
+@@ -888,7 +889,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 (FcCharSetHasChar(font->mCharset, aChar))
++        if (FcCharSetHasChar(font->mCharset, aChar) && font->GetXftFont() != NULL)
+             return font;
+     }
+ 
+@@ -1051,7 +1052,7 @@
+ 
+         for (PRInt32 j = 0, end = mLoadedFonts.Count(); j < end; ++j) {
+             font = (nsFontXft *)mLoadedFonts.ElementAt(j);
+-            if (FcCharSetHasChar(font->mCharset, c)) {
++            if (FcCharSetHasChar(font->mCharset, c) && font->GetXftFont()) {
+                 currFont = font;
+                 goto FoundFont; // for speed -- avoid "if" statement
+             }
+@@ -1461,6 +1462,7 @@
+     FcPatternReference(mFontName);
+ 
+     mXftFont = nsnull;
++    mNotXft  = 0;
+ 
+     // set up our charset
+     mCharset = nsnull;
+@@ -1487,14 +1489,16 @@
+ XftFont *
+ nsFontXft::GetXftFont(void)
+ {
+-    if (!mXftFont) {
++    if (!mXftFont && !mNotXft) {
+         FcPattern *pat = FcFontRenderPrepare(0, mPattern, mFontName);
+         if (!pat)
+             return nsnull;
+ 
+         mXftFont = XftFontOpenPattern(GDK_DISPLAY(), pat);
+-        if (!mXftFont)
++        if (!mXftFont) { 
+             FcPatternDestroy(pat);
++	    mNotXft = 1;
++	}
+     }
+ 
+     return mXftFont;

+ 1 - 1
mozilla/mozilla.spec

@@ -37,7 +37,7 @@ Distribution: OpenPKG [EVAL]
 Group:        Web
 License:      MPL
 Version:      1.3
-Release:      20030316
+Release:      20030415
 
 #   package options
 %option       with_mailnews   no