From 822522fb531949d5db9205516bdb48d94009cceb Mon Sep 17 00:00:00 2001 From: James Kitchener Date: Tue, 1 Apr 2014 02:56:00 +0200 Subject: [PATCH] Bug 947557 - Call DidReflow() on frame. r=fredw --- layout/mathml/crashtests/947557-1.html | 21 ++++++++++++++++++++ layout/mathml/crashtests/crashtests.list | 1 + layout/mathml/nsMathMLmmultiscriptsFrame.cpp | 5 ++++- 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 layout/mathml/crashtests/947557-1.html diff --git a/layout/mathml/crashtests/947557-1.html b/layout/mathml/crashtests/947557-1.html new file mode 100644 index 000000000000..3ddfb7b98414 --- /dev/null +++ b/layout/mathml/crashtests/947557-1.html @@ -0,0 +1,21 @@ + + + + + A + + + A + + A + A + + + A + + A + A + + + + diff --git a/layout/mathml/crashtests/crashtests.list b/layout/mathml/crashtests/crashtests.list index 8a22cff6ec87..52253ec0926d 100644 --- a/layout/mathml/crashtests/crashtests.list +++ b/layout/mathml/crashtests/crashtests.list @@ -58,4 +58,5 @@ load 654928-1.html load 655451-1.xhtml load 713606-1.html load 716349-1.html +load 947557-1.html test-pref(layout.css.sticky.enabled,true) asserts(1) load 973322-1.xhtml diff --git a/layout/mathml/nsMathMLmmultiscriptsFrame.cpp b/layout/mathml/nsMathMLmmultiscriptsFrame.cpp index bf70d5498127..359b1bdbc9ed 100644 --- a/layout/mathml/nsMathMLmmultiscriptsFrame.cpp +++ b/layout/mathml/nsMathMLmmultiscriptsFrame.cpp @@ -571,7 +571,10 @@ nsMathMLmmultiscriptsFrame::PlaceMultiScript(nsPresContext* aPresContext, dx), dy, 0); dx += bmBase.width; - } else if (prescriptsFrame != childFrame) { + } else if (prescriptsFrame == childFrame) { + // Clear reflow flags of prescripts frame. + prescriptsFrame->DidReflow(aPresContext, nullptr, nsDidReflowStatus::FINISHED); + } else { // process each sup/sub pair if (0 == count) { subScriptFrame = childFrame;