Closed
Bug 286804
Opened 20 years ago
Closed 20 years ago
###!!! ASSERTION: Newline improperly getting into single-line edit field!: '(singleLineNewlineBehavior == ePasteIntact)', file r:/mozilla/editor/libeditor/text/nsTextEditRules.cpp, line 689
Categories
(Core :: DOM: Editor, defect)
Core
DOM: Editor
Tracking
()
RESOLVED
FIXED
mozilla1.8beta2
People
(Reporter: timeless, Assigned: masayuki)
References
()
Details
(Keywords: assertion)
Attachments
(1 file, 2 obsolete files)
|
1.24 KB,
patch
|
timeless
:
review+
neil
:
superreview+
|
Details | Diff | Splinter Review |
###!!! ASSERTION: Newline improperly getting into single-line edit field!:
'(singleLineNewlineBehavior == ePasteIntact)', file
r:/mozilla/editor/libeditor/text/nsTextEditRules.cpp, line 689
Break: at file r:/mozilla/editor/libeditor/text/nsTextEditRules.cpp, line 689
xpcom_core.dll!nsDebugImpl::Assertion(const char * aStr=0x07c05ee8, const char
* aExpr=0x07c05ebc, const char * aFile=0x07c05e84, int aLine=689) Line 301 C++
xpcom_core.dll!nsDebug::Assertion(const char * aStr=0x07c05ee8, const char *
aExpr=0x07c05ebc, const char * aFile=0x07c05e84, int aLine=689) Line 109 C++
editor.dll!nsTextEditRules::WillInsertText(int aAction=2000, nsISelection *
aSelection=0x091c6540, int * aCancel=0x0012e4bc, int * aHandled=0x0012e3dc,
const nsAString * inString=0x0012e53c, nsAString * outString=0x0012e3e0, int
aMaxLength=-1) Line 689 + 0x20 C++
editor.dll!nsTextEditRules::WillDoAction(nsISelection * aSelection=0x091c6540,
nsRulesInfo * aInfo=0x0012e47c, int * aCancel=0x0012e4bc, int *
aHandled=0x0012e3dc) Line 302 + 0x30 C++
editor.dll!nsPlaintextEditor::InsertText(const nsAString &
aStringToInsert={...}) Line 916 + 0x3e C++
editor.dll!nsPlaintextEditor::InsertTextAt(const nsAString &
aStringToInsert={...}, nsIDOMNode * aDestinationNode=0x00000000, int
aDestOffset=0, int aDoDeleteSelection=1) Line 109 C++
editor.dll!nsPlaintextEditor::InsertTextFromTransferable(nsITransferable *
aTransferable=0x08c08318, nsIDOMNode * aDestinationNode=0x00000000, int
aDestOffset=0, int aDoDeleteSelection=1) Line 131 + 0x1b C++
editor.dll!nsPlaintextEditor::Paste(int aSelectionType=1) Line 442 + 0x1e C++
editor.dll!nsPasteCommand::DoCommand(const char * aCommandName=0x0012e9e0,
nsISupports * aCommandRefCon=0x09930c08) Line 418 + 0x1c C++
embedcomponents.dll!nsControllerCommandTable::DoCommand(const char *
aCommandName=0x0012e9e0, nsISupports * aCommandRefCon=0x09930c08) Line 191 +
0x1f C++
embedcomponents.dll!nsBaseCommandController::DoCommand(const char *
aCommand=0x0012e9e0) Line 132 C++
gklayout.dll!nsXBLPrototypeHandler::ExecuteHandler(nsIDOMEventReceiver *
aReceiver=0x091655f0, nsIDOMEvent * aEvent=0x07541208) Line 353 C++
gklayout.dll!nsXBLKeyEventHandler::HandleEvent(nsIDOMEvent *
aEvent=0x07541208) Line 144 C++
gklayout.dll!nsEventListenerManager::HandleEventSubType(nsListenerStruct *
aListenerStruct=0x098e90f0, nsIDOMEvent * aDOMEvent=0x07541208,
nsIDOMEventTarget * aCurrentTarget=0x091655f0, unsigned int aSubType=4, unsigned
int aPhaseFlags=519) Line 1557 + 0x14 C++
gklayout.dll!nsEventListenerManager::HandleEvent(nsPresContext *
aPresContext=0x0b3bb088, nsEvent * aEvent=0x0012f70c, nsIDOMEvent * *
aDOMEvent=0x0012ef8c, nsIDOMEventTarget * aCurrentTarget=0x091655f0, unsigned
int aFlags=519, nsEventStatus * aEventStatus=0x0012f514) Line 1656 C++
gklayout.dll!nsGenericElement::HandleDOMEvent(nsPresContext *
aPresContext=0x0b3bb088, nsEvent * aEvent=0x0012f70c, nsIDOMEvent * *
aDOMEvent=0x0012ef8c, unsigned int aFlags=519, nsEventStatus *
aEventStatus=0x0012f514) Line 2041 C++
gklayout.dll!nsHTMLInputElement::HandleDOMEvent(nsPresContext *
aPresContext=0x0b3bb088, nsEvent * aEvent=0x0012f70c, nsIDOMEvent * *
aDOMEvent=0x00000000, unsigned int aFlags=513, nsEventStatus *
aEventStatus=0x0012f514) Line 1363 + 0x1f C++
gklayout.dll!PresShell::HandleEventInternal(nsEvent * aEvent=0x0012f70c,
nsIView * aView=0x0b190fe8, unsigned int aFlags=1, nsEventStatus *
aStatus=0x0012f514) Line 6081 + 0x37 C++
gklayout.dll!PresShell::HandleEvent(nsIView * aView=0x0b190fe8, nsGUIEvent *
aEvent=0x0012f70c, nsEventStatus * aEventStatus=0x0012f514, int aForceHandle=1,
int & aHandled=1) Line 5900 + 0x19 C++
gklayout.dll!nsViewManager::HandleEvent(nsView * aView=0x0b190fe8, nsGUIEvent
* aEvent=0x0012f70c, int aCaptured=0) Line 2450 C++
gklayout.dll!nsViewManager::DispatchEvent(nsGUIEvent * aEvent=0x0012f70c,
nsEventStatus * aStatus=0x0012f654) Line 2217 + 0x14 C++
gklayout.dll!HandleEvent(nsGUIEvent * aEvent=0x0012f70c) Line 174 C++
gkwidget.dll!nsWindow::DispatchEvent(nsGUIEvent * event=0x0012f70c,
nsEventStatus & aStatus=nsEventStatus_eIgnore) Line 1150 + 0xa C++
gkwidget.dll!nsWindow::DispatchWindowEvent(nsGUIEvent * event=0x0012f70c)
Line 1171 C++
gkwidget.dll!nsWindow::DispatchKeyEvent(unsigned int aEventType=131, unsigned
short aCharCode=118, unsigned int aVirtualCharCode=0, long aKeyData=0, unsigned
int aFlags=0) Line 3358 + 0xf C++
gkwidget.dll!nsWindow::OnChar(unsigned int charCode=0, unsigned int aFlags=0)
Line 3592 + 0x1f C++
gkwidget.dll!nsWindow::OnKeyDown(unsigned int aVirtualKeyCode=86, unsigned int
aScanCode=47, long aKeyData=3080193) Line 3445 + 0x22 C++
gkwidget.dll!nsWindow::ProcessMessage(unsigned int msg=256, unsigned int
wParam=86, long lParam=3080193, long * aRetValue=0x0012fc7c) Line 4342 + 0x1d C++
gkwidget.dll!nsWindow::WindowProc(HWND__ * hWnd=0x000523c0, unsigned int
msg=256, unsigned int wParam=86, long lParam=3080193) Line 1442 + 0x1b C++
user32.dll!_InternalCallWinProc@20() + 0x28
user32.dll!_UserCallWinProcCheckWow@32() + 0xb7
user32.dll!_DispatchMessageWorker@8() + 0xdc
user32.dll!_DispatchMessageW@4() + 0xf
gkwidget.dll!nsAppShell::Run() Line 135 C++
appcomps.dll!nsAppStartup::Run() Line 208 C++
mozilla.exe!main1(int argc=1, char * * argv=0x00348260, nsISupports *
nativeApp=0x00c16838) Line 1325 + 0x20 C++
mozilla.exe!main(int argc=1, char * * argv=0x00348260) Line 1831 + 0x25 C++
mozilla.exe!mainCRTStartup() Line 398 + 0x11 C
kernel32.dll!_BaseProcessStart@4() + 0x23
i'm just trying to paste random text into the urlbar on windows... :)
| Assignee | ||
Comment 1•20 years ago
|
||
I think that this problem is serious.
On input element, e.g., this page's "Status Whiteboard", we can paste multiple
lines and can submit too.
I can reporduced only the clipboard text begins \n.
Status: UNCONFIRMED → NEW
Ever confirmed: true
| Assignee | ||
Comment 2•20 years ago
|
||
I created basic patch. It fix this bug.
But I will propose advanced way soon.
Assignee: mozeditor → masayuki
Status: NEW → ASSIGNED
| Assignee | ||
Comment 3•20 years ago
|
||
This patch is advanced way.
It is using first non-empty line.
Attachment #178242 -
Flags: review?(timeless)
| Assignee | ||
Comment 4•20 years ago
|
||
Comment on attachment 178241 [details] [diff] [review]
Patch rv1.0(Normal)
timeless:
Choose better patch.
Attachment #178241 -
Flags: review?(timeless)
| Assignee | ||
Updated•20 years ago
|
OS: Windows XP → All
Hardware: PC → All
Comment 5•20 years ago
|
||
This should be marked as a duplicate of bug #283813
https://bugzilla.mozilla.org/show_bug.cgi?id=283813
My bug report predates this one by seven days and they are basically the same thing.
*** Bug 283813 has been marked as a duplicate of this bug. ***
| Assignee | ||
Updated•20 years ago
|
Target Milestone: --- → mozilla1.8beta2
| Assignee | ||
Updated•20 years ago
|
Flags: blocking1.8b2?
Comment on attachment 178242 [details] [diff] [review]
Patch rv1.0(Advanced)
sorry for the delay, i like this style better, but i really don't like the
iterative Cut's. i was working on a counter patch yesterday but got distracted.
| Assignee | ||
Updated•20 years ago
|
Attachment #178241 -
Attachment is obsolete: true
Attachment #178241 -
Flags: review?(timeless)
| Assignee | ||
Updated•20 years ago
|
Attachment #178242 -
Flags: review?(timeless)
| Assignee | ||
Comment 8•20 years ago
|
||
Attachment #178242 -
Attachment is obsolete: true
Attachment #178465 -
Flags: review?(timeless)
Comment on attachment 178465 [details] [diff] [review]
Patch rv1.1
thanks :)
Attachment #178465 -
Flags: superreview?(neil.parkwaycc.co.uk)
Attachment #178465 -
Flags: review?(timeless)
Attachment #178465 -
Flags: review+
Comment 10•20 years ago
|
||
Comment on attachment 178465 [details] [diff] [review]
Patch rv1.1
>+
>+ // we get first *non-empty* line.
>+ PRInt32 offset = 0;
>+ while (firstCRLF == offset)
>+ {
>+ offset++;
>+ firstCRLF = tString.FindCharInSet(CRLF, offset);
>+ }
>+ if (offset > 0)
>+ {
>+ tString.Cut(0, offset);
>+ firstCRLF -= offset;
>+ }
> if (firstCRLF > 0)
> tString.Truncate(firstCRLF);
I'd prefer if you Truncated the string before Cutting it.
if (firstCRLF > 0)
tString.Truncate(firstCRLF);
if (offset > 0)
tString.Cut(0, offset);
sr=me with this change.
Attachment #178465 -
Flags: superreview?(neil.parkwaycc.co.uk) → superreview+
| Assignee | ||
Comment 11•20 years ago
|
||
checked-in.
-> fixed
Status: ASSIGNED → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
Updated•20 years ago
|
Flags: blocking1.8b2?
You need to log in
before you can comment on or make changes to this bug.
Description
•