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:
mats.palmgren%bredband.net
2006-08-06 04:18:56 +00:00
parent 88e4ff0c90
commit 76b3994b2d

View File

@@ -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(),