diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2018-05-03 15:09:40 +0300 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2018-05-15 10:15:04 +0200 |
commit | 44b4313d9f73f48f42dd3a443081a573b818d185 (patch) | |
tree | 9a41fdc532c775ffa49658c4fba07c4534c6deec /writerfilter | |
parent | d1c878ed71075131f86072754a1286622198e408 (diff) |
tdf#117268: treat erroneous \itap0 the same way as Word does
... so that if we are inside a table, it would not convert table
paragraphs into top-level paragraphs. (The in-the-wild documents
with this invalid input are, e.g., generated by Consultant+ legal
reference database).
Reviewed-on: https://gerrit.libreoffice.org/53790
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
(cherry picked from commit 247dabcb0b92a62b233ec0237deac84e6675325c)
Change-Id: I45eb9073a0651bc963badb84229ce5ae437f1a8c
Reviewed-on: https://gerrit.libreoffice.org/53813
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
(cherry picked from commit fe3ddff71af9298cc389ce05f6c1474bc0aeb715)
Diffstat (limited to 'writerfilter')
-rw-r--r-- | writerfilter/source/rtftok/rtfdispatchvalue.cxx | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/writerfilter/source/rtftok/rtfdispatchvalue.cxx b/writerfilter/source/rtftok/rtfdispatchvalue.cxx index d4a770fe8828..272d1256fd43 100644 --- a/writerfilter/source/rtftok/rtfdispatchvalue.cxx +++ b/writerfilter/source/rtftok/rtfdispatchvalue.cxx @@ -228,6 +228,13 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam) { case RTF_ITAP: nSprm = NS_ooxml::LN_tblDepth; + // tdf#117268: If \itap0 is encountered inside tables (between \cellxN and \cell), then + // use the default value (1), as Word apparently does + if (nParam == 0 && (m_nTopLevelCells != 0 || m_nNestedCells != 0)) + { + nParam = 1; + pIntValue = std::make_shared<RTFValue>(nParam); + } break; default: break; |