35 lines
1.3 KiB
Diff
35 lines
1.3 KiB
Diff
|
# HG changeset patch
|
||
|
# User Jonathan Kew <jkew@mozilla.com>
|
||
|
# Date 1432227274 -3600
|
||
|
# Thu May 21 17:54:34 2015 +0100
|
||
|
# Node ID 383fdad2853cd3dfc7c17e8a86ff4c29dce128bf
|
||
|
# Parent 4858f16b05179f87f41cdbf5a8cc3b33b540513a
|
||
|
Bug 1167145 - Check result of PrevInFlow() before trying to call a method on it.
|
||
|
|
||
|
diff --git a/layout/generic/nsBlockFrame.cpp b/layout/generic/nsBlockFrame.cpp
|
||
|
--- a/layout/generic/nsBlockFrame.cpp
|
||
|
+++ b/layout/generic/nsBlockFrame.cpp
|
||
|
@@ -6142,18 +6142,20 @@ nsBlockFrame::ReflowPushedFloats(nsBlock
|
||
|
next = f->GetNextSibling();
|
||
|
prev = f;
|
||
|
} // else: we did push |f| so |prev|'s new next-sibling is next.
|
||
|
f = next;
|
||
|
}
|
||
|
|
||
|
// If there are continued floats, then we may need to continue BR clearance
|
||
|
if (0 != aState.ClearFloats(0, NS_STYLE_CLEAR_BOTH)) {
|
||
|
- aState.mFloatBreakType = static_cast<nsBlockFrame*>(GetPrevInFlow())
|
||
|
- ->FindTrailingClear();
|
||
|
+ nsBlockFrame* prevBlock = static_cast<nsBlockFrame*>(GetPrevInFlow());
|
||
|
+ if (prevBlock) {
|
||
|
+ aState.mFloatBreakType = prevBlock->FindTrailingClear();
|
||
|
+ }
|
||
|
}
|
||
|
}
|
||
|
|
||
|
void
|
||
|
nsBlockFrame::RecoverFloats(nsFloatManager& aFloatManager, WritingMode aWM,
|
||
|
nscoord aContainerWidth)
|
||
|
{
|
||
|
// Recover our own floats
|