summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sw/qa/extras/rtfimport/data/hexcrlf.rtf6
-rw-r--r--writerfilter/source/rtftok/rtfdocumentimpl.cxx6
2 files changed, 10 insertions, 2 deletions
diff --git a/sw/qa/extras/rtfimport/data/hexcrlf.rtf b/sw/qa/extras/rtfimport/data/hexcrlf.rtf
index 7c7ed1a9b5f8..1aaa0839c7eb 100644
--- a/sw/qa/extras/rtfimport/data/hexcrlf.rtf
+++ b/sw/qa/extras/rtfimport/data/hexcrlf.rtf
@@ -1,4 +1,10 @@
{\rtf1
+{\*\listtable
+{\list\listtemplateid1
+{\listlevel{\leveltext \'0d\'00.\'01.\'02.\'03.\'04.\'05.\'06}{\levelnumbers \'01\'03\'05\'07\'09\'0b\'0d}}
+{\listname Heading;}\listid1199164
+}}
+
foo\'0dba
r\'0abaz\'0d\'0aquux
\par }
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index fe35afe1d372..adf0a80c6956 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -1123,8 +1123,10 @@ RTFError RTFDocumentImpl::resolveChars(char ch)
if (!bSkipped)
{
// note: apparently \'0d\'0a is interpreted as 2 breaks, not 1
- if (m_aStates.top().eDestination != Destination::DOCCOMM
- && (ch == '\r' || ch == '\n'))
+ if ((ch == '\r' || ch == '\n')
+ && m_aStates.top().eDestination != Destination::DOCCOMM
+ && m_aStates.top().eDestination != Destination::LEVELNUMBERS
+ && m_aStates.top().eDestination != Destination::LEVELTEXT)
{
checkUnicode(/*bUnicode =*/ false, /*bHex =*/ true);
dispatchSymbol(RTF_PAR);