Bug 67125. If the hint fails, start over to avoid problems when hint is an out-of-flow frame. r=attinasi, sr=buster

git-svn-id: svn://10.0.0.236/trunk@85890 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
waterson%netscape.com
2001-01-31 23:20:39 +00:00
parent dc5adae542
commit 334b39bebc
2 changed files with 24 additions and 2 deletions

View File

@@ -10912,7 +10912,6 @@ keepLooking:
printf("skipping hint because parent frame is special\n");
#endif
}
firstTime = PR_FALSE;
}
if (!kidFrame) { // we didn't have enough info to prune, start searching from the beginning
aParentFrame->FirstChild(aPresContext, listName, &kidFrame);
@@ -10972,6 +10971,18 @@ keepLooking:
#endif
}
if (firstTime) {
firstTime = PR_FALSE;
// If we get here, and we had a hint, then we didn't find a
// frame. The hint may have been a floated or absolutely
// positioned frame, in which case we'd be off in the weeds
// looking through something other than primary frame
// list. Reboot the search from scratch.
if (aHint)
goto keepLooking;
}
NS_IF_RELEASE(listName);
aParentFrame->GetAdditionalChildListName(listIndex++, &listName);
} while(listName);