author | Simon Montagu <smontagu@smontagu.org> |
Tue, 12 Jul 2011 10:34:52 +0300 | |
changeset 72615 | e899fed03195b3980280b2cf46fb90261e5f72c8 |
parent 72614 | c847d67a09f8239d8339eb91f6e303103bf1b7b3 |
child 72662 | 699ee4c1a49501a6e6a68f50dde49be723008af3 |
push id | 20747 |
push user | smontagu@mozilla.com |
push date | Tue, 12 Jul 2011 07:36:20 +0000 |
treeherder | mozilla-central@e899fed03195 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | roc |
bugs | 670226 |
milestone | 8.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/layout/base/nsBidiPresUtils.cpp +++ b/layout/base/nsBidiPresUtils.cpp @@ -812,18 +812,23 @@ nsBidiPresUtils::TraverseFrames(nsBlockF while (end < endLine && nextSibling) { AdvanceAndAppendFrame(&frame, aLineIter, &nextSibling); NS_ASSERTION(frame, "Premature end of continuation chain"); frame->GetOffsets(start, end); mBuffer.Append(Substring(text, start, NS_MIN(end, endLine) - start)); } + if (end < endLine) { + mPrevContent = nsnull; + break; + } + PRBool createdContinuation = PR_FALSE; - if (end >= endLine && PRUint32(endLine) < text.Length()) { + if (PRUint32(endLine) < text.Length()) { /* * Timing is everything here: if the frame already has a bidi * continuation, we need to make the continuation fluid *before* * resetting the length of the current frame. Otherwise * nsTextFrame::SetLength won't set the continuation frame's * text offsets correctly. * * On the other hand, if the frame doesn't have a continuation,