Closed Bug 186932 Opened 22 years ago Closed 21 years ago

nsBlockFrame::PullFrameFrom calls nsFrame::Invalidate with an empty combinedArea

Categories

(Core :: Layout: Block and Inline, defect)

x86
Windows 2000
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: timeless, Unassigned)

Details

Attachments

(1 file)

cvs build from this sunday afternoon

WARNING: empty damage rect: update caller to avoid fcn call overhead, file
i:/build/mozilla/layout/html/base/src/nsFrame.cpp, line 2538

nsFrame::Invalidate(nsIPresContext * 0x149609d0, const nsRect & {...}, int 0)
line 2539
-	combinedArea	{...}
	x	0
	y	0
	width	0
	height	0
      Invalidate(aState.mPresContext, combinedArea);

nsBlockFrame::PullFrameFrom(nsBlockReflowState & {...}, nsLineBox * 0x14770668,
nsLineList & {...}, nsLineList_iterator {...}, int 0, int 1, nsIFrame * &
0x00000000) line 2818
nsBlockFrame::PullFrame(nsBlockReflowState & {...}, nsLineList_iterator {...},
int 1, nsIFrame * & 0x00000000) line 2742 + 57 bytes
nsBlockFrame::DoReflowInlineFrames(nsBlockReflowState & {...}, nsLineLayout &
{...}, nsLineList_iterator {...}, int * 0x0012dd24, unsigned char * 0x0012dad3,
int 0, int 1) line 3768 + 28 bytes
nsBlockFrame::DoReflowInlineFramesAuto(nsBlockReflowState & {...},
nsLineList_iterator {...}, int * 0x0012dd24, unsigned char * 0x0012dad3, int 0,
int 1) line 3640 + 46 bytes
nsBlockFrame::ReflowInlineFrames(nsBlockReflowState & {...}, nsLineList_iterator
{...}, int * 0x0012dd24, int 1, int 0) line 3584 + 36 bytes
nsBlockFrame::ReflowLine(nsBlockReflowState & {...}, nsLineList_iterator {...},
int * 0x0012dd24, int 1) line 2676 + 33 bytes
nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & {...}) line 2322 + 31 bytes
nsBlockFrame::Reflow(nsBlockFrame * const 0x14a75c34, nsIPresContext *
0x149609d0, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...},
unsigned int & 0) line 944 + 15 bytes
nsBoxToBlockAdaptor::Reflow(nsBoxLayoutState & {...}, nsIPresContext *
0x149609d0, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...},
unsigned int & 0, int 0, int 0, int 9644, int 1574, int 1) line 923
nsBoxToBlockAdaptor::DoLayout(nsBoxToBlockAdaptor * const 0x14a8aba4,
nsBoxLayoutState & {...}) line 666 + 46 bytes
nsBox::Layout(nsBox * const 0x14a8aba4, nsBoxLayoutState & {...}) line 1074
nsScrollBoxFrame::DoLayout(nsScrollBoxFrame * const 0x14a75d5c, nsBoxLayoutState
& {...}) line 361
nsBox::Layout(nsBox * const 0x14a75d5c, nsBoxLayoutState & {...}) line 1074
nsContainerBox::LayoutChildAt(nsBoxLayoutState & {...}, nsIBox * 0x14a75d5c,
const nsRect & {...}) line 645 + 16 bytes
nsGfxScrollFrameInner::LayoutBox(nsBoxLayoutState & {...}, nsIBox * 0x14a75d5c,
const nsRect & {...}) line 1164 + 17 bytes
nsGfxScrollFrameInner::Layout(nsBoxLayoutState & {...}) line 1319
nsGfxScrollFrame::DoLayout(nsGfxScrollFrame * const 0x14a75cbc, nsBoxLayoutState
& {...}) line 1172 + 15 bytes
nsBox::Layout(nsBox * const 0x14a75cbc, nsBoxLayoutState & {...}) line 1074
nsBoxFrame::Reflow(nsBoxFrame * const 0x14a75c84, nsIPresContext * 0x149609d0,
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 902
nsGfxScrollFrame::Reflow(nsGfxScrollFrame * const 0x14a75c84, nsIPresContext *
0x149609d0, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...},
unsigned int & 0) line 847 + 25 bytes
IncrementalReflow::Dispatch(nsIPresContext * 0x149609d0, nsHTMLReflowMetrics &
{...}, const nsSize & {...}, nsIRenderingContext & {...}) line 894
PresShell::ProcessReflowCommands(int 0) line 6437
PresShell::FlushPendingNotifications(PresShell * const 0x14914950, int 0) line 5137
PresShell::EndReflowBatching(PresShell * const 0x14914950, int 1) line 5165 + 17
bytes
nsEditor::EndUpdateViewBatch() line 4383
nsEditor::EndPlaceHolderTransaction(nsEditor * const 0x14a59320) line 754
nsAutoPlaceHolderBatch::~nsAutoPlaceHolderBatch() line 67 + 47 bytes
nsPlaintextEditor::TypedText(nsPlaintextEditor * const 0x14a59320, const
nsAString & {...}, int 0) line 575 + 37 bytes
nsPlaintextEditor::HandleKeyPress(nsPlaintextEditor * const 0x14a593d0,
nsIDOMKeyEvent * 0x149242a8) line 554 + 33 bytes
nsTextEditorKeyListener::KeyPress(nsTextEditorKeyListener * const 0x14aa9288,
nsIDOMEvent * 0x149242b0) line 308
nsEventListenerManager::HandleEvent(nsEventListenerManager * const 0x1494d608,
nsIPresContext * 0x149609d0, nsEvent * 0x0012f7d8, nsIDOMEvent * * 0x0012f350,
nsIDOMEventTarget * 0x14924028, unsigned int 7, nsEventStatus * 0x0012f610) line
1657 + 41 bytes
nsGenericElement::HandleDOMEvent(nsGenericElement * const 0x14a27d00,
nsIPresContext * 0x149609d0, nsEvent * 0x0012f7d8, nsIDOMEvent * * 0x0012f350,
unsigned int 7, nsEventStatus * 0x0012f610) line 1935
nsHTMLTextAreaElement::HandleDOMEvent(nsHTMLTextAreaElement * const 0x14a27d00,
nsIPresContext * 0x149609d0, nsEvent * 0x0012f7d8, nsIDOMEvent * * 0x00000000,
unsigned int 1, nsEventStatus * 0x0012f610) line 742 + 29 bytes
PresShell::HandleEventInternal(nsEvent * 0x0012f7d8, nsIView * 0x14afe708,
unsigned int 1, nsEventStatus * 0x0012f610) line 6153 + 47 bytes
PresShell::HandleEvent(PresShell * const 0x14914954, nsIView * 0x14afe708,
nsGUIEvent * 0x0012f7d8, nsEventStatus * 0x0012f610, int 1, int & 1) line 6076 +
25 bytes
nsViewManager::HandleEvent(nsView * 0x14afe708, nsGUIEvent * 0x0012f7d8, int 0)
line 2165
nsView::HandleEvent(nsViewManager * 0x14753b10, nsGUIEvent * 0x0012f7d8, int 0)
line 304
nsViewManager::DispatchEvent(nsViewManager * const 0x14753b10, nsGUIEvent *
0x0012f7d8, nsEventStatus * 0x0012f748) line 1945 + 23 bytes
HandleEvent(nsGUIEvent * 0x0012f7d8) line 83
nsWindow::DispatchEvent(nsWindow * const 0x14b47914, nsGUIEvent * 0x0012f7d8,
nsEventStatus & nsEventStatus_eIgnore) line 1113 + 10 bytes
nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012f7d8) line 1134
nsWindow::DispatchKeyEvent(unsigned int 131, unsigned short 46, unsigned int 0,
long 0) line 3009 + 15 bytes
nsWindow::OnChar(unsigned int 46, unsigned int 0, unsigned char 0) line 3204
nsWindow::ProcessMessage(unsigned int 258, unsigned int 46, long 3407873, long *
0x0012fc48) line 3914 + 38 bytes
nsWindow::WindowProc(HWND__ * 0x01020778, unsigned int 258, unsigned int 46,
long 3407873) line 1400 + 27 bytes
USER32! 77e13eb0()
USER32! 77e1401a()
USER32! 77e13f0f()
nsAppShellService::Run(nsAppShellService * const 0x02c6bd48) line 472
main1(int 3, char * * 0x002e44c0, nsISupports * 0x002d6f08) line 1543 + 32 bytes
main(int 3, char * * 0x002e44c0) line 1904 + 37 bytes
mainCRTStartup() line 338 + 17 bytes
KERNEL32! 77e87903()
Attached patch proposed fixSplinter Review
Why don't we just do this check inside of Invalidate and skip the assertion?  It
seems it would take a lot less code.
I agree with dbaron. We might care if someone was doing a lot of calls to
Invalidate that could be filtered out by one higher level check, but that's not
likely.
Is bug 207365 a dup of or related to this bug? See also bug 136927 comment 36.
Summary: nsBlockFrame::PullFrameFrom calls nsFrame::Invalidate with an empty combinedArea → nsBlockFrame::PullFrameFrom calls
Restoring Summary; not sure how that happened.
Summary: nsBlockFrame::PullFrameFrom calls → nsBlockFrame::PullFrameFrom calls nsFrame::Invalidate with an empty combinedArea
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: