Closed
Bug 6335
Opened 25 years ago
Closed 25 years ago
Deleting a word at start of line throws assertion
Categories
(Core :: DOM: Editor, defect, P3)
Core
DOM: Editor
Tracking
()
VERIFIED
FIXED
People
(Reporter: kinmoz, Assigned: mozeditor)
Details
Load the following html into viewer, and then enter Editor mode.
<html>
<head><title></title></head>
<body>
<p>This is a test
<p>Ths prgraph c<b>ont</b>ans a toon of speling erors!
</body>
</html>
Now select the word "Ths" in the second paragraph, and hit the backspace key.
You should end up hitting an assertion in nsRange.cpp with the stack trace
below. Notice how the word "Ths" was not deleted? Trying to delete it a second
time works. Undoing everything you just did will hit the same assertion.
NTDLL! 77f76148()
nsDebug::NotReached(char * 0x01e8301c, char * 0x01e82ff4, int 822) line 165 + 13
bytes
nsRange::PopRanges(nsCOMPtr<nsIDOMNode> {...}, int 0, nsCOMPtr<nsIContent>
{...}) line 822 + 21 bytes
nsRange::OwnerChildRemoved(nsIContent * 0x0153ccac, int 0, nsIContent *
0x0153cb7c) line 1624 + 33 bytes
nsGenericHTMLContainerElement::RemoveChildAt(int 0, int 1) line 2649
nsGenericHTMLContainerElement::RemoveChild(nsIDOMNode * 0x0153cb70, nsIDOMNode *
* 0x0012f508) line 2464 + 14 bytes
nsHTMLParagraphElement::RemoveChild(nsHTMLParagraphElement * const 0x0153cca0,
nsIDOMNode * 0x0153cb70, nsIDOMNode * * 0x0012f508) line 48 + 22 bytes
nsEditor::JoinNodesImpl(nsIDOMNode * 0x0153cd10, nsIDOMNode * 0x0153cb70,
nsIDOMNode * 0x0153cca0, int 0) line 2008 + 43 bytes
JoinElementTxn::Do(JoinElementTxn * const 0x0156bba0) line 84 + 43 bytes
nsTransactionItem::Do() line 102 + 18 bytes
nsTransactionManager::BeginTransaction(nsITransaction * 0x0156bba0) line 560 +
11 bytes
nsTransactionManager::Do(nsITransaction * 0x0156bba0) line 98 + 15 bytes
nsEditor::Do(nsEditor * const 0x0154a620, nsITransaction * 0x0156bba0) line 678
+ 29 bytes
nsEditor::JoinNodes(nsEditor * const 0x0154a620, nsIDOMNode * 0x0153cb70,
nsIDOMNode * 0x0153cd10, nsIDOMNode * 0x0153cca0) line 1815 + 16 bytes
nsHTMLEditRules::JoinNodeDeep(nsIDOMNode * 0x0153cb00, nsIDOMNode * 0x0153cca0,
nsIDOMSelection * 0x0152fef4) line 1377 + 45 bytes
nsHTMLEditRules::WillDeleteSelection(nsIDOMSelection * 0x0152fef4,
nsIEditor::ECollapsedSelectionAction eDeleteLeft, int * 0x0012f87c) line 408 +
33 bytes
nsHTMLEditRules::WillDoAction(nsHTMLEditRules * const 0x0154eba0,
nsIDOMSelection * 0x0152fef4, nsRulesInfo * 0x0012f880, int * 0x0012f87c) line
215 + 26 bytes
nsTextEditor::DeleteSelection(nsTextEditor * const 0x0154a620,
nsIEditor::ECollapsedSelectionAction eDeleteLeft) line 783 + 41 bytes
nsHTMLEditor::DeleteSelection(nsHTMLEditor * const 0x0154a620,
nsIEditor::ECollapsedSelectionAction eDeleteLeft) line 152
nsTextEditorKeyListener::KeyDown(nsIDOMEvent * 0x01565400) line 168
nsEventListenerManager::HandleEvent(nsIPresContext & {...}, nsEvent *
0x0012fd58, nsIDOMEvent * * 0x0012fad8, unsigned int 3, nsEventStatus &
nsEventStatus_eIgnore) line 725 + 17 bytes
nsDocument::HandleDOMEvent(nsDocument * const 0x015747a0, nsIPresContext &
{...}, nsEvent * 0x0012fd58, nsIDOMEvent * * 0x0012fad8, unsigned int 1,
nsEventStatus & nsEventStatus_eIgnore) line 2226
nsHTMLHtmlElement::HandleDOMEvent(nsHTMLHtmlElement * const 0x0157569c,
nsIPresContext & {...}, nsEvent * 0x0012fd58, nsIDOMEvent * * 0x00000000,
unsigned int 1, nsEventStatus & nsEventStatus_eIgnore) line 175 + 41 bytes
PresShell::HandleEvent(PresShell * const 0x0152fe24, nsIView * 0x01533a00,
nsGUIEvent * 0x0012fd58, nsEventStatus & nsEventStatus_eIgnore) line 2000 + 39
bytes
nsView::HandleEvent(nsView * const 0x01533a00, nsGUIEvent * 0x0012fd58, unsigned
int 8, nsEventStatus & nsEventStatus_eIgnore) line 831
nsView::HandleEvent(nsView * const 0x01533e90, nsGUIEvent * 0x0012fd58, unsigned
int 8, nsEventStatus & nsEventStatus_eIgnore) line 818
nsView::HandleEvent(nsView * const 0x01533dc0, nsGUIEvent * 0x0012fd58, unsigned
int 8, nsEventStatus & nsEventStatus_eIgnore) line 818
nsView::HandleEvent(nsView * const 0x0152e2d0, nsGUIEvent * 0x0012fd58, unsigned
int 28, nsEventStatus & nsEventStatus_eIgnore) line 818
nsViewManager::DispatchEvent(nsViewManager * const 0x0152ac20, nsGUIEvent *
0x0012fd58, nsEventStatus & nsEventStatus_eIgnore) line 1726
HandleEvent(nsGUIEvent * 0x0012fd58) line 67
nsWindow::DispatchEvent(nsWindow * const 0x01533124, nsGUIEvent * 0x0012fd58,
nsEventStatus & nsEventStatus_eIgnore) line 410 + 10 bytes
nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012fd58) line 431
nsWindow::DispatchKeyEvent(unsigned int 133, unsigned short 8, unsigned int 8)
line 1790 + 15 bytes
nsWindow::OnChar(unsigned int 8) line 2059
nsWindow::ProcessMessage(unsigned int 258, unsigned int 8, long 917505, long *
0x0012fef4) line 2182 + 15 bytes
nsWindow::WindowProc(void * 0x0085071c, unsigned int 258, unsigned int 8, long
917505) line 474 + 27 bytes
USER32! 77e71250()
Assignee | ||
Updated•25 years ago
|
Status: NEW → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
Assignee | ||
Comment 1•25 years ago
|
||
This should be fixed in today's build (I fixed this yesterday).
Assignee | ||
Updated•25 years ago
|
Status: RESOLVED → REOPENED
Assignee | ||
Comment 3•25 years ago
|
||
Kin has convinced me that this bug should be reopened.
hey can I simply type in the text like the testfile into the editor
and then hit the backspace key to verify that I don't get an assertion?
Okay I tried regressign this one in today's build...even though its reopened.
I am able to select "Ths" in teh second paragraph of the test file and
use Backspace to delete that text w/o hitting any assertions.
Kin was saying that these assertions may not be showing up in optimized
builds...
Comment 6•25 years ago
|
||
Right; the assertions to nothing in optimized builds, so testing this should
concentrate on finding possible scenarios where the application locks up
(endless loop) or other bad things happen.
Assignee | ||
Updated•25 years ago
|
Status: REOPENED → RESOLVED
Closed: 25 years ago → 25 years ago
You need to log in
before you can comment on or make changes to this bug.
Description
•