From b1abd818bdbd82f2490d7fc8b6a8279859ef8c1a Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Wed, 3 Oct 2012 06:22:19 -0400 Subject: [PATCH] Fix problem with adding widths when child node is empty that causes linebreaking to produce math processing errors. (Reported by StackExchange community.) --- unpacked/jax/output/HTML-CSS/autoload/multiline.js | 12 +++++++----- unpacked/jax/output/SVG/autoload/multiline.js | 8 +++++--- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/unpacked/jax/output/HTML-CSS/autoload/multiline.js b/unpacked/jax/output/HTML-CSS/autoload/multiline.js index 4b12b92cf..639d0b35e 100644 --- a/unpacked/jax/output/HTML-CSS/autoload/multiline.js +++ b/unpacked/jax/output/HTML-CSS/autoload/multiline.js @@ -168,11 +168,13 @@ MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () { return better; }, HTMLaddWidth: function (i,info,scanW) { - var span = this.data[i].HTMLspanElement(); - scanW += span.bbox.w; - if (span.style.paddingLeft) {scanW += HTMLCSS.unEm(span.style.paddingLeft)} - if (span.style.paddingRight) {scanW += HTMLCSS.unEm(span.style.paddingRight)} - info.W = info.scanW = scanW; info.w = 0; + if (this.data[i]) { + var span = this.data[i].HTMLspanElement(); + scanW += span.bbox.w; + if (span.style.paddingLeft) {scanW += HTMLCSS.unEm(span.style.paddingLeft)} + if (span.style.paddingRight) {scanW += HTMLCSS.unEm(span.style.paddingRight)} + info.W = info.scanW = scanW; info.w = 0; + } return scanW; }, diff --git a/unpacked/jax/output/SVG/autoload/multiline.js b/unpacked/jax/output/SVG/autoload/multiline.js index 3a4df84bd..3025cb044 100644 --- a/unpacked/jax/output/SVG/autoload/multiline.js +++ b/unpacked/jax/output/SVG/autoload/multiline.js @@ -171,9 +171,11 @@ MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () { return better; }, SVGaddWidth: function (i,info,scanW) { - var svg = this.data[i].SVGdata; - scanW += svg.w + svg.x; if (svg.X) {scanW += svg.X} - info.W = info.scanW = scanW; info.w = 0; + if (this.data[i]) { + var svg = this.data[i].SVGdata; + scanW += svg.w + svg.x; if (svg.X) {scanW += svg.X} + info.W = info.scanW = scanW; info.w = 0; + } return scanW; },