diff --git a/mozilla/editor/base/nsTextEditRules.cpp b/mozilla/editor/base/nsTextEditRules.cpp index 5453b07c29a..12b5d9f9099 100644 --- a/mozilla/editor/base/nsTextEditRules.cpp +++ b/mozilla/editor/base/nsTextEditRules.cpp @@ -566,7 +566,11 @@ nsTextEditRules::WillInsertText(PRInt32 aAction, // fixes bug 21032 // *** there's some debate about whether we should replace CRLF with spaces, or // truncate the string at the first CRLF. Here, we replace with spaces. - if (nsIHTMLEditor::eEditorSingleLineMask & mFlags) { + // Hack: I stripped out this test for IME inserts - it screws up double byte chars + // that happen to end in the same values as CR or LF. Bug 27699 + if (aInString->IsEmpty() && (aAction != kInsertTextIME)) + if ((nsIHTMLEditor::eEditorSingleLineMask & mFlags) && (aAction != kInsertTextIME)) + { aOutString->ReplaceChar(CRLF, ' '); } diff --git a/mozilla/editor/libeditor/text/nsTextEditRules.cpp b/mozilla/editor/libeditor/text/nsTextEditRules.cpp index 5453b07c29a..12b5d9f9099 100644 --- a/mozilla/editor/libeditor/text/nsTextEditRules.cpp +++ b/mozilla/editor/libeditor/text/nsTextEditRules.cpp @@ -566,7 +566,11 @@ nsTextEditRules::WillInsertText(PRInt32 aAction, // fixes bug 21032 // *** there's some debate about whether we should replace CRLF with spaces, or // truncate the string at the first CRLF. Here, we replace with spaces. - if (nsIHTMLEditor::eEditorSingleLineMask & mFlags) { + // Hack: I stripped out this test for IME inserts - it screws up double byte chars + // that happen to end in the same values as CR or LF. Bug 27699 + if (aInString->IsEmpty() && (aAction != kInsertTextIME)) + if ((nsIHTMLEditor::eEditorSingleLineMask & mFlags) && (aAction != kInsertTextIME)) + { aOutString->ReplaceChar(CRLF, ' '); }