summaryrefslogtreecommitdiff
path: root/www/mozilla/files/patch-nsFontMetricsXlib.cpp
diff options
context:
space:
mode:
authorJoe Marcus Clarke <marcus@FreeBSD.org>2002-09-03 20:45:59 +0000
committerJoe Marcus Clarke <marcus@FreeBSD.org>2002-09-03 20:45:59 +0000
commit377568c2973dbd8d4099fbbd106cf4ed5b5165aa (patch)
tree392109f1685ab29d544b9b416a81f8def9172ce5 /www/mozilla/files/patch-nsFontMetricsXlib.cpp
parentUpdate to 2.1. (diff)
Add mozilla-*-devel after a repo copy from mozilla.
NOTE: mozilla-*-devel is now Mozilla 1.1. mozilla-* (without the -devel) is back to Mozilla 1.0. mozilla.org states that 1.1 is their new bleeding edge release, and 1.0 is still the stable release. The release cycle diagram also indicates that a Mozilla 1.0.1 is coming. For all users that upgraded from Mozilla 1.0 to 1.1, be aware that running a blind portupgrade on mozilla will give you mozilla-1.0! If you want to keep Mozilla 1.1, you will have to change the origin of you mozilla ports to point to their -devel counterparts. The -devel ports will install files into -devel directories. Therefore, both mozilla and mozilla-devel can coexist.
Notes
Notes: svn path=/head/; revision=65571
Diffstat (limited to '')
-rw-r--r--www/mozilla/files/patch-nsFontMetricsXlib.cpp40
1 files changed, 40 insertions, 0 deletions
diff --git a/www/mozilla/files/patch-nsFontMetricsXlib.cpp b/www/mozilla/files/patch-nsFontMetricsXlib.cpp
new file mode 100644
index 000000000000..fd470f66d234
--- /dev/null
+++ b/www/mozilla/files/patch-nsFontMetricsXlib.cpp
@@ -0,0 +1,40 @@
+$FreeBSD$
+
+As reported by Mikko Rapeli and Tom Vogt at
+http://bugzilla.mozilla.org/show_bug.cgi?id=115788 and
+http://bugzilla.mozilla.org/show_bug.cgi?id=150339 the X server can
+abort when Mozilla requests a huge (scalable) font. This is also
+likely to happen to the X font server, or to Xvnc.
+
+This patch is from
+http://bugzilla.mozilla.org/attachment.cgi?id=87432&action=view
+.
+
+--- gfx/src/xlib/nsFontMetricsXlib.cpp Tue Jun 11 16:20:31 2002
++++ gfx/src/xlib/nsFontMetricsXlib.cpp Thu Jun 13 00:05:47 2002
+@@ -99,6 +99,12 @@
+ #undef USER_DEFINED
+ #define USER_DEFINED "x-user-def"
+
++// This is the scaling factor that we keep fonts limited to against
++// the display size. If a pixel size is requested that is more than
++// this factor larger than the height of the display, it's clamped to
++// that value instead of the requested size.
++#define FONT_MAX_FONT_SCALE 2
++
+ #undef NOISY_FONTS
+ #undef REALLY_NOISY_FONTS
+
+@@ -1480,7 +1486,12 @@
+
+ float app2dev;
+ mDeviceContext->GetAppUnitsToDevUnits(app2dev);
++
+ mPixelSize = NSToIntRound(app2dev * mFont->size);
++ // Make sure to clamp the pixel size to something reasonable so we
++ // don't make the X server blow up.
++ mPixelSize = PR_MIN(XHeightOfScreen(xxlib_rgb_get_screen(gXlibRgbHandle)) * FONT_MAX_FONT_SCALE, mPixelSize);
++
+ mStretchIndex = 4; // Normal
+ mStyleIndex = mFont->style;
+