mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-30 00:01:50 +00:00
Bug 492080. More correct marking of dirty bits on floats when we interrupt. r+sr=dbaron
This commit is contained in:
parent
1c6412faca
commit
3202c50376
@ -2286,9 +2286,11 @@ nsBlockFrame::MarkLineDirtyForInterrupt(nsLineBox* aLine)
|
||||
for (nsIFrame* f = aLine->mFirstChild; n > 0;
|
||||
f = f->GetNextSibling(), --n) {
|
||||
f->AddStateBits(NS_FRAME_IS_DIRTY);
|
||||
nsIFrame* oof = nsPlaceholderFrame::GetRealFrameFor(f);
|
||||
if (oof != f && oof->GetParent() == this) {
|
||||
oof->AddStateBits(NS_FRAME_IS_DIRTY);
|
||||
}
|
||||
// And mark all the floats whose reflows we might be skipping dirty too.
|
||||
if (aLine->HasFloats()) {
|
||||
for (nsFloatCache* fc = aLine->GetFirstFloat(); fc; fc = fc->Next()) {
|
||||
fc->mPlaceholder->GetOutOfFlowFrame()->AddStateBits(NS_FRAME_IS_DIRTY);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user