summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTaco Hoekwater <taco@elvenkind.com>2013-05-22 14:48:28 +0000
committerTaco Hoekwater <taco@elvenkind.com>2013-05-22 14:48:28 +0000
commitdee3642d11fdc392246730c133af2b3c2f771113 (patch)
treee6cdac9c568adfe1ddecc88290f821150d2e3440
parent79fe366a27e43c99b925d687db6fc33e42411dc5 (diff)
fix two important reported metapost bugs:
http://tracker.luatex.org/view.php?id=830 http://tracker.luatex.org/view.php?id=831 git-svn-id: svn://tug.org/texlive/trunk@30629 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Build/source/texk/web2c/mplibdir/ChangeLog7
-rw-r--r--Build/source/texk/web2c/mplibdir/mp.w6
-rw-r--r--Build/source/texk/web2c/mplibdir/svgout.w4
3 files changed, 14 insertions, 3 deletions
diff --git a/Build/source/texk/web2c/mplibdir/ChangeLog b/Build/source/texk/web2c/mplibdir/ChangeLog
index bab0191fba7..1672e16bdc7 100644
--- a/Build/source/texk/web2c/mplibdir/ChangeLog
+++ b/Build/source/texk/web2c/mplibdir/ChangeLog
@@ -1,3 +1,10 @@
+2013-05-22 Taco Hoekwater <taco@luatex.org>
+
+ * svgout.w: fix a problem with overly large characters in
+ SVG output mode when prologues != 3.
+ * mp.w: quick fix for a fatal crash during free-ing of TFM
+ metric data at the end of the run.
+
2013-04-23 Taco Hoekwater <taco@luatex.org>
* svgout.w: fix a problem with colors in SVG output mode.
diff --git a/Build/source/texk/web2c/mplibdir/mp.w b/Build/source/texk/web2c/mplibdir/mp.w
index 99f7a518a52..3d64ed40957 100644
--- a/Build/source/texk/web2c/mplibdir/mp.w
+++ b/Build/source/texk/web2c/mplibdir/mp.w
@@ -1,4 +1,4 @@
-% $Id: mp.w 1898 2013-04-05 09:40:19Z taco $
+% $Id: mp.w 1901 2013-05-22 14:42:19Z taco $
%
% This file is part of MetaPost;
% the MetaPost program is in the public domain.
@@ -33113,10 +33113,14 @@ for (k = 1; k <= (int) mp->last_fnum; k++) {
xfree (mp->font_ps_name[k]);
}
for (k = 0; k <= 255; k++) {
+/* These are disabled for now following a bug-report about double free
+ errors. TO BE FIXED, bug tracker id 831 */
+/*
mp_free_value_node (mp, mp->tfm_width[k]);
mp_free_value_node (mp, mp->tfm_height[k]);
mp_free_value_node (mp, mp->tfm_depth[k]);
mp_free_value_node (mp, mp->tfm_ital_corr[k]);
+*/
}
xfree (mp->font_info);
diff --git a/Build/source/texk/web2c/mplibdir/svgout.w b/Build/source/texk/web2c/mplibdir/svgout.w
index 43274d57580..1d6b175ca42 100644
--- a/Build/source/texk/web2c/mplibdir/svgout.w
+++ b/Build/source/texk/web2c/mplibdir/svgout.w
@@ -1,4 +1,4 @@
-% $Id: svgout.w 1897 2013-04-05 08:43:40Z taco $
+% $Id: svgout.w 1902 2013-05-22 14:44:36Z taco $
%
% Copyright 2008-2009 Taco Hoekwater.
%
@@ -986,7 +986,7 @@ void mp_svg_text_out (MP mp, mp_text_object *p, int prologues) {
}
} else {
mp_svg_open_starttag(mp, "text");
- ds=(mp->font_dsize[gr_font_n(p)]+8) / 16;
+ ds=(mp->font_dsize[gr_font_n(p)]+8) / 16 / 65536.0;
mp_svg_store_double(mp,ds);
mp_svg_attribute(mp, "font-size", mp->svg->buf);
mp_svg_reset_buf(mp);