Closed Bug 277875 Opened 20 years ago Closed 19 years ago

###!!! ASSERTION: this shouldn't happen, should it?: 'Not Reached', file r:/cenzic/mozilla/layout/html/base/src/nsFrame.cpp, line 2427

Categories

(Core :: Printing: Output, defect)

x86
Windows XP
defect
Not set
minor

Tracking

()

RESOLVED FIXED

People

(Reporter: timeless, Assigned: roc)

Details

(Keywords: assertion)

Attachments

(1 file)

codebase is 18a5 release, plus unrelated changes for a commercial application
(but we don't care about printing).

this assert is mentioned in bug 222092 comment 4, but i felt like giving it its
own bug.

the second time i print, i get:

###!!! ASSERTION: this shouldn't happen, should it?: 'Not Reached', file
r:/cenzic/mozilla/layout/html/base/src/nsFrame.cpp, line 2427
###!!! Break: at file r:/cenzic/mozilla/layout/html/base/src/nsFrame.cpp, line 2427
 	xpcom_core.dll!nsDebugImpl::Break(const char * aFile=0x01c0ecb0, int
aLine=2427)  Line 379	C++
 	xpcom_core.dll!nsDebugImpl::Assertion(const char * aStr=0x01c0ecf0, const char
* aExpr=0x01c0ece4, const char * aFile=0x01c0ecb0, int aLine=2427)  Line 295	C++
 	xpcom_core.dll!nsDebug::Assertion(const char * aStr=0x01c0ecf0, const char *
aExpr=0x01c0ece4, const char * aFile=0x01c0ecb0, int aLine=2427)  Line 109	C++
>	gklayout.dll!nsIFrame::GetWindow()  Line 2427 + 0x1a	C++
 	editor.dll!GetEditorContentWindow(nsIPresShell * aPresShell=0x043d1608,
nsIDOMElement * aRoot=0x043b730c, nsIWidget * * aResult=0x0012423c)  Line 2032
+ 0xe	C++
 	editor.dll!nsEditor::GetKBStateControl(nsIKBStateControl * * aKBSC=0x00124284)
 Line 2056 + 0x32	C++
 	editor.dll!nsEditor::NotifyIMEOnFocus()  Line 2108 + 0x23	C++
 	editor.dll!nsTextEditorFocusListener::Focus(nsIDOMEvent * aEvent=0x043bfa28) 
Line 1053	C++
 	gklayout.dll!DispatchToInterface(nsIDOMEvent * aEvent=0x043bfa28,
nsIDOMEventListener * aListener=0x043a6ef0, unsigned int (nsIDOMEvent *)*
aMethod=0x01868360, const nsID & aIID={...}, int * aHasInterface=0x00124324) 
Line 128 + 0xb	C++
 	gklayout.dll!nsEventListenerManager::HandleEvent(nsPresContext *
aPresContext=0x03e2c5d0, nsEvent * aEvent=0x00124a58, nsIDOMEvent * *
aDOMEvent=0x001244f8, nsIDOMEventTarget * aCurrentTarget=0x043bfa90, unsigned
int aFlags=7, nsEventStatus * aEventStatus=0x00124a54)  Line 1597 + 0x23	C++
 	gklayout.dll!nsGenericElement::HandleDOMEvent(nsPresContext *
aPresContext=0x03e2c5d0, nsEvent * aEvent=0x00124a58, nsIDOMEvent * *
aDOMEvent=0x001244f8, unsigned int aFlags=7, nsEventStatus *
aEventStatus=0x00124a54)  Line 1999	C++
 	gklayout.dll!nsHTMLInputElement::HandleDOMEvent(nsPresContext *
aPresContext=0x03e2c5d0, nsEvent * aEvent=0x00124a58, nsIDOMEvent * *
aDOMEvent=0x00000000, unsigned int aFlags=1, nsEventStatus *
aEventStatus=0x00124a54)  Line 1365 + 0x1f	C++
 	gklayout.dll!nsEventStateManager::SendFocusBlur(nsPresContext *
aPresContext=0x03e2c5d0, nsIContent * aContent=0x042ccbe0, int
aEnsureWindowHasFocus=1)  Line 4140	C++
 	gklayout.dll!nsEventStateManager::SetContentState(nsIContent *
aContent=0x042ccbe0, int aState=2)  Line 3789	C++
 	gklayout.dll!nsHTMLInputElement::SetFocus(nsPresContext *
aPresContext=0x03e2c5d0)  Line 1083	C++
 	gklayout.dll!nsEventStateManager::PreHandleEvent(nsPresContext *
aPresContext=0x0241ef00, nsEvent * aEvent=0x001252b4, nsIFrame *
aTargetFrame=0x02ebfdb4, nsEventStatus * aStatus=0x00125098, nsIView *
aView=0x0235b4f0)  Line 799	C++
 	gklayout.dll!PresShell::HandleEventInternal(nsEvent * aEvent=0x001252b4,
nsIView * aView=0x0235b4f0, unsigned int aFlags=1, nsEventStatus *
aStatus=0x00125098)  Line 5948 + 0x34	C++
 	gklayout.dll!PresShell::HandleEvent(nsIView * aView=0x0235b4f0, nsGUIEvent *
aEvent=0x001252b4, nsEventStatus * aEventStatus=0x00125098, int aForceHandle=1,
int & aHandled=1)  Line 5812 + 0x19	C++
 	gklayout.dll!nsViewManager::HandleEvent(nsView * aView=0x0235b4f0, nsGUIEvent
* aEvent=0x001252b4, int aCaptured=0)  Line 2354	C++
 	gklayout.dll!nsViewManager::DispatchEvent(nsGUIEvent * aEvent=0x001252b4,
nsEventStatus * aStatus=0x001251fc)  Line 2127 + 0x14	C++
 	gklayout.dll!HandleEvent(nsGUIEvent * aEvent=0x001252b4)  Line 166	C++
 	gkwidget.dll!nsWindow::DispatchEvent(nsGUIEvent * event=0x001252b4,
nsEventStatus & aStatus=nsEventStatus_eIgnore)  Line 1074 + 0xa	C++
 	gkwidget.dll!nsWindow::DispatchWindowEvent(nsGUIEvent * event=0x001252b4) 
Line 1095	C++
 	gkwidget.dll!nsWindow::DispatchFocus(unsigned int aEventType=107, int
isMozWindowTakingFocus=1)  Line 5520 + 0xf	C++
 	gkwidget.dll!nsWindow::ProcessMessage(unsigned int msg=7, unsigned int
wParam=786950, long lParam=0, long * aRetValue=0x00125758)  Line 4199 + 0x17	C++
 	gkwidget.dll!nsWindow::WindowProc(HWND__ * hWnd=0x000c019e, unsigned int
msg=7, unsigned int wParam=786950, long lParam=0)  Line 1355 + 0x1b	C++
 	user32.dll!_InternalCallWinProc@20()  + 0x1b	
 	user32.dll!_UserCallWinProcCheckWow@32()  + 0xb7	
 	user32.dll!_DispatchClientMessage@20()  + 0x4d	
 	user32.dll!___fnDWORD@4()  + 0x22	
 	ntdll.dll!_KiUserCallbackDispatcher@12()  + 0x13	
 	user32.dll!_NtUserSetFocus@4()  + 0xc	
 	gklayout.dll!nsCOMPtr<nsIWidget>::Assert_NoQueryNeeded()  Line 523	C++
nsIFrame::GetWindow is going to return nsnull during printing. That's actually
OK.  I'll attach a patch that rationalizes GetWindow into something that doesn't
assert.
Attached patch fixSplinter Review
Make nsIFrame::GetWindow do it the easy way, and don't bother asserting just
because there's no widget.
Assignee: printing → roc
Status: UNCONFIRMED → ASSIGNED
Attachment #173584 - Flags: superreview?(bzbarsky)
Attachment #173584 - Flags: review?(bzbarsky)
Comment on attachment 173584 [details] [diff] [review]
fix

r+sr=bzbarsky
Attachment #173584 - Flags: superreview?(bzbarsky)
Attachment #173584 - Flags: superreview+
Attachment #173584 - Flags: review?(bzbarsky)
Attachment #173584 - Flags: review+
checked in.
Status: ASSIGNED → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: