bug 29595 (and others)
fixes layout of pages where a single line is impacted by 2 or more floaters r=troy git-svn-id: svn://10.0.0.236/trunk@63783 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -32,10 +32,16 @@
|
||||
#include "nsAbsoluteContainingBlock.h"
|
||||
#include "nsLayoutAtoms.h"
|
||||
|
||||
#undef NOISY_FINAL_SIZE
|
||||
#ifdef DEBUG
|
||||
#undef NOISY_PUSHING
|
||||
#endif
|
||||
|
||||
nsIID nsInlineFrame::kInlineFrameCID = NS_INLINE_FRAME_CID;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Basic nsInlineFrame methods
|
||||
@@ -426,6 +432,9 @@ nsInlineFrame::ReflowFrames(nsIPresContext* aPresContext,
|
||||
PRBool reflowingFirstLetter = lineLayout->GetFirstLetterStyleOK();
|
||||
PRBool isComplete;
|
||||
frame = PullOneFrame(aPresContext, irs, &isComplete);
|
||||
#ifdef NOISY_PUSHING
|
||||
printf("%p pulled up %p\n", this, frame);
|
||||
#endif
|
||||
if (nsnull == frame) {
|
||||
if (!isComplete) {
|
||||
aStatus = NS_FRAME_NOT_COMPLETE;
|
||||
@@ -668,6 +677,10 @@ nsInlineFrame::PushFrames(nsIPresContext* aPresContext,
|
||||
NS_PRECONDITION(prevNextSibling == aFromChild, "bad prev sibling");
|
||||
#endif
|
||||
|
||||
#ifdef NOISY_PUSHING
|
||||
printf("%p pushing aFromChild %p, disconnecting from prev sib %p\n",
|
||||
this, aFromChild, aPrevSibling);
|
||||
#endif
|
||||
// Disconnect aFromChild from its previous sibling
|
||||
aPrevSibling->SetNextSibling(nsnull);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user