Don't make a frame on the overflow line list a sibling to a frame on the principal line list. b=344557 r+sr=roc a=mtschrep
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_8_BRANCH@206659 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -5856,9 +5856,18 @@ found_frame:;
|
||||
// We have advanced to the next *normal* line but the next-in-flow
|
||||
// is not there - force a switch to the overflow line list.
|
||||
line = line_end;
|
||||
}
|
||||
|
||||
PRBool wasSearchingOverflowList = searchingOverflowList;
|
||||
TryAllLines(&line, &line_end, &searchingOverflowList);
|
||||
if (NS_UNLIKELY(searchingOverflowList && !wasSearchingOverflowList &&
|
||||
prevSibling)) {
|
||||
// We switched to the overflow line list and we have a prev sibling
|
||||
// (in the main list), in this case we don't want to pick up any
|
||||
// sibling list from the deceased frames (bug 344557).
|
||||
prevSibling->SetNextSibling(nsnull);
|
||||
prevSibling = nsnull;
|
||||
}
|
||||
TryAllLines(&line, &line_end, &searchingOverflowList);
|
||||
#ifdef NOISY_REMOVE_FRAME
|
||||
printf("DoRemoveFrame: now on %s line=%p prevSibling=%p\n",
|
||||
searchingOverflowList?"overflow":"normal", line.get(),
|
||||
|
||||
Reference in New Issue
Block a user