Closed Bug 286678 Opened 20 years ago Closed 12 years ago

outdenting a top level textnode isn't implemented and results in ###!!! ASSERTION: not an element node: 'element', file r:/mozilla/editor/libeditor/html/nsHTMLEditR

Categories

(Core :: DOM: Editor, enhancement)

x86
Windows XP
enhancement
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: timeless, Unassigned)

Details

(Keywords: assertion)

1. run mfcembed
2. file>new editor
3. type some text
4. click the outdent button
oh, and it's reproducable

###!!! ASSERTION: not an element node: 'element', file
r:/mozilla/editor/libeditor/html/nsHTMLEditRules.cpp, line 8584

 	xpcom_core.dll!nsDebug::Assertion(const char * aStr=0x03d9dae8, const char *
aExpr=0x03d9dae0, const char * aFile=0x03d9daa8, int aLine=8584)  Line 109	C++
 	editor.dll!nsHTMLEditRules::RelativeChangeIndentationOfElementNode(nsIDOMNode
* aNode=0x01a13d84, char aRelativeChange='ÿ')  Line 8584 + 0x26	C++
 	editor.dll!nsHTMLEditRules::WillOutdent(nsISelection * aSelection=0x079ccd28,
int * aCancel=0x0012f308, int * aHandled=0x0012f2cc)  Line 3989	C++
 	editor.dll!nsHTMLEditRules::WillDoAction(nsISelection * aSelection=0x079ccd28,
nsRulesInfo * aInfo=0x0012f2d4, int * aCancel=0x0012f308, int *
aHandled=0x0012f2cc)  Line 610 + 0x17	C++
 	editor.dll!nsHTMLEditor::Indent(const nsAString & aIndent={...})  Line 2869
+ 0x38	C++
 	composer.dll!nsOutdentCommand::DoCommand(const char * aCommandName=0x00433b14,
nsISupports * refCon=0x0799e0f0)  Line 583 + 0x2a	C++
 	embedcomponents.dll!nsControllerCommandTable::DoCommand(const char *
aCommandName=0x00433b14, nsISupports * aCommandRefCon=0x0799e0f0)  Line 191 +
0x1f	C++
 	embedcomponents.dll!nsBaseCommandController::DoCommand(const char *
aCommand=0x00433b14)  Line 132	C++
 	embedcomponents.dll!nsCommandManager::DoCommand(const char *
aCommandName=0x00433b14, nsICommandParams * aCommandParams=0x00000000,
nsIDOMWindow * aTargetWindow=0x079c0ac4)  Line 256 + 0x1b	C++
 	mfcembed.exe!CEditorFrame::DoCommand(const char * aCommand=0x00433b14,
nsICommandParams * aCommandParams=0x00000000)  Line 271 + 0x40	C++
 	mfcembed.exe!CEditorFrame::ExecuteNoParam(const char * aCommand=0x00433b14)
 Line 295	C++
 	mfcembed.exe!CEditorFrame::OnOutdent()  Line 310	C++
 	mfc71d.dll!_AfxDispatchCmdMsg(CCmdTarget * pTarget=0x07970568, unsigned int
nID=32798, int nCode=0, void (void)* pfn=0x00401af0, void * pExtra=0x00000000,
unsigned int nSig=53, AFX_CMDHANDLERINFO * pHandlerInfo=0x00000000)  Line 89	C++
 	mfc71d.dll!CCmdTarget::OnCmdMsg(unsigned int nID=32798, int nCode=0, void *
pExtra=0x00000000, AFX_CMDHANDLERINFO * pHandlerInfo=0x00000000)  Line 396 +
0x27	C++
 	mfc71d.dll!CFrameWnd::OnCmdMsg(unsigned int nID=32798, int nCode=0, void *
pExtra=0x00000000, AFX_CMDHANDLERINFO * pHandlerInfo=0x00000000)  Line 897 +
0x18	C++
 	mfcembed.exe!CBrowserFrame::OnCmdMsg(unsigned int nID=32798, int nCode=0, void
* pExtra=0x00000000, AFX_CMDHANDLERINFO * pHandlerInfo=0x00000000)  Line 303	C++
 	mfc71d.dll!CWnd::OnCommand(unsigned int wParam=32798, long lParam=596042) 
Line 2550	C++
 	mfc71d.dll!CFrameWnd::OnCommand(unsigned int wParam=32798, long lParam=596042)
 Line 320	C++
 	mfc71d.dll!CWnd::OnWndMsg(unsigned int message=273, unsigned int wParam=32798,
long lParam=596042, long * pResult=0x0012f6b8)  Line 1759 + 0x1c	C++
 	mfc71d.dll!CWnd::WindowProc(unsigned int message=273, unsigned int
wParam=32798, long lParam=596042)  Line 1745 + 0x1e	C++
 	mfc71d.dll!AfxCallWndProc(CWnd * pWnd=0x07970568, HWND__ * hWnd=0x0013189a,
unsigned int nMsg=273, unsigned int wParam=32798, long lParam=596042)  Line
241 + 0x1a	C++
 	mfc71d.dll!AfxWndProc(HWND__ * hWnd=0x0013189a, unsigned int nMsg=273,
unsigned int wParam=32798, long lParam=596042)  Line 389	C++
 	mfc71d.dll!AfxWndProcBase(HWND__ * hWnd=0x0013189a, unsigned int nMsg=273,
unsigned int wParam=32798, long lParam=596042)  Line 209 + 0x15	C++
 	user32.dll!_InternalCallWinProc@20()  + 0x28	
 	user32.dll!_UserCallWinProcCheckWow@32()  + 0xb7	
 	user32.dll!_DispatchClientMessage@20()  + 0x4d	
 	user32.dll!___fnDWORD@4()  + 0x24	
 	ntdll.dll!_KiUserCallbackDispatcher@12()  + 0x13	
 	user32.dll!_NtUserMessageCall@28()  + 0xc	
 	user32.dll!_SendMessageW@16()  + 0x49	
 	comctl32.dll!_TBOnLButtonUp@20()  + 0x12a	
 	comctl32.dll!_ToolbarWndProc@16()  + 0xa4a	
 	user32.dll!_InternalCallWinProc@20()  + 0x28	
 	user32.dll!_UserCallWinProcCheckWow@32()  + 0xb7	
 	user32.dll!_CallWindowProcAorW@24()  + 0x51	
 	user32.dll!_CallWindowProcA@20()  + 0x1b	
 	mfc71d.dll!CWnd::DefWindowProcA(unsigned int nMsg=514, unsigned int wParam=0,
long lParam=786553)  Line 1024 + 0x20	C++
 	mfc71d.dll!CWnd::WindowProc(unsigned int message=514, unsigned int wParam=0,
long lParam=786553)  Line 1746 + 0x1a	C++
 	mfc71d.dll!CControlBar::WindowProc(unsigned int nMsg=514, unsigned int
wParam=0, long lParam=786553)  Line 503 + 0x14	C++
 	mfc71d.dll!AfxCallWndProc(CWnd * pWnd=0x0797063c, HWND__ * hWnd=0x0009184a,
unsigned int nMsg=514, unsigned int wParam=0, long lParam=786553)  Line 241 +
0x1a	C++
 	mfc71d.dll!AfxWndProc(HWND__ * hWnd=0x0009184a, unsigned int nMsg=514,
unsigned int wParam=0, long lParam=786553)  Line 389	C++
 	mfc71d.dll!AfxWndProcBase(HWND__ * hWnd=0x0009184a, unsigned int nMsg=514,
unsigned int wParam=0, long lParam=786553)  Line 209 + 0x15	C++
 	user32.dll!_InternalCallWinProc@20()  + 0x28	
 	user32.dll!_UserCallWinProcCheckWow@32()  + 0xb7	
 	user32.dll!_DispatchMessageWorker@8()  + 0xdc	
 	user32.dll!_DispatchMessageW@4()  + 0xf	
 	user32.dll!_IsDialogMessageW@8()  + 0xdb	
 	user32.dll!_IsDialogMessageA@8()  + 0x4a	
 	mfc71d.dll!CWnd::IsDialogMessageA(tagMSG * lpMsg=0x001455f0)  Line 200	C++
 	mfc71d.dll!CWnd::PreTranslateInput(tagMSG * lpMsg=0x001455f0)  Line 4512	C++
 	mfc71d.dll!CControlBar::PreTranslateMessage(tagMSG * pMsg=0x001455f0)  Line
442 + 0xc	C++
 	mfc71d.dll!CControlBar::PreTranslateMessage(tagMSG * pMsg=0x001455f0)  Line
433 + 0x12	C++
 	mfc71d.dll!CWnd::WalkPreTranslateTree(HWND__ * hWndStop=0x00111672, tagMSG *
pMsg=0x001455f0)  Line 3129 + 0x12	C++
 	mfc71d.dll!AfxInternalPreTranslateMessage(tagMSG * pMsg=0x001455f0)  Line
238 + 0x12	C++
 	mfc71d.dll!CWinThread::PreTranslateMessage(tagMSG * pMsg=0x001455f0)  Line
795 + 0x9	C++
 	mfc71d.dll!AfxPreTranslateMessage(tagMSG * pMsg=0x001455f0)  Line 257 + 0xf	C++
 	mfc71d.dll!AfxInternalPumpMessage()  Line 183 + 0x18	C++
 	mfc71d.dll!CWinThread::PumpMessage()  Line 916	C++
 	mfc71d.dll!CWinThread::Run()  Line 637 + 0xb	C++
 	mfc71d.dll!CWinApp::Run()  Line 701	C++
 	mfc71d.dll!AfxWinMain(HINSTANCE__ * hInstance=0x00400000, HINSTANCE__ *
hPrevInstance=0x00000000, char * lpCmdLine=0x00142384, int nCmdShow=10)  Line
49 + 0xb	C++
 	mfcembed.exe!WinMain(HINSTANCE__ * hInstance=0x00400000, HINSTANCE__ *
hPrevInstance=0x00000000, char * lpCmdLine=0x00142384, int nCmdShow=10)  Line 25	C++
 	mfcembed.exe!WinMainCRTStartup()  Line 390 + 0x39	C
 	kernel32.dll!_BaseProcessStart@4()  + 0x23	

-	aNode	0x01a13d84	nsIDOMNode *
-	[nsTextNode]	{...}	nsTextNode
As a note, regular composer currently doesn't allow outdenting top level text
(the places to do this are grayed out). So this particular assertion can only be
triggered through mfcembed.
QA Contact: bugzilla → editor
Assignee: mozeditor → nobody
Bug 724261 removed the assertion.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.