diff options
author | Michael Stahl <michael.stahl@allotropia.de> | 2024-02-01 12:53:07 +0100 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2024-02-07 22:57:26 +0100 |
commit | a77fa2be1e0d8c22198a3a45153bb25ecf3135dd (patch) | |
tree | b4e7f9b6bffc9bc3f972e21006a3c44bda600be2 /m4/l_atomic.m4 | |
parent | 0ee5143f1bfbe71133d90dc984a0709af0551fb9 (diff) |
writerfilter: fix missing paragraph break on tdf136445-1.rtf
This causes an assert:
crossrefbookmark.cxx:44: sw::mark::CrossRefBookmark::CrossRefBookmark(): Assertion `IDocumentMarkAccess::IsLegalPaMForCrossRefHeadingBookmark(rPaM) && "<CrossRefBookmark::CrossRefBookmark(..)>" "- creation of cross-reference bookmark with an illegal PaM that does not expand over exactly one whole paragraph."' failed.
The problem is that there is an annotation at the end of a paragraph,
and reading the annotation changes various members of DomainMapper_Impl,
in particular m_bParaSectpr and m_bParaChanged, causing "bRemove" in
DomainMapper::lcl_utext() to be erroneously true, removing the just
inserted paragraph break again.
Move all flags that are evaluated for bRemove to SubstreamContext.
This causes one test failure, but it turns out that the new result is
the same as in Word 2013.
Test name: (anonymous namespace)::testTdf108947::TestBody
equality assertion failed
- Expected: Header Page 2 ?
- Actual :
Header Page 2 ?
(regression from commit 15b886f460919ea3dce425a621dc017c2992a96b)
Change-Id: I44a7a8928ab04c600d4d3c43bc4e4deeafe57d89
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162932
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
(cherry picked from commit 86ad08f9d25110e91e92a0badf6de75e785b3644)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162936
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Diffstat (limited to 'm4/l_atomic.m4')
0 files changed, 0 insertions, 0 deletions