diff options
author | Justin Luth <justin.luth@collabora.com> | 2018-08-31 11:57:31 +0300 |
---|---|---|
committer | László Németh <nemeth@numbertext.org> | 2018-09-03 07:43:18 +0200 |
commit | dff829e863fd05bedd5bcb713cd80c10fa582932 (patch) | |
tree | 1f6ed5d7705392d278e06a4bc643e425bd4254e0 /writerfilter | |
parent | 8854cf29682bc2f02fba1901f967c7a94bc706d5 (diff) |
tdf#104354 writerfilter: not FirstParaInSection if InFootOrEndnote
or InComment. The first footnote does not get special treatment in
autospacing either, so no exception needs to be made for it like in
autospacing, unlike many other "firsts".
The unit test is simply preventative. I'm a bit surprised,
but the section isn't even marked as "IsFirstSection" until after
the comment and footnote paragraphs are finished. That seems a bit
odd to me, since they are in the FirstSection after all.
Change-Id: Ib0107c969bf624e44f0c78b936bf9531fd25bfc2
Reviewed-on: https://gerrit.libreoffice.org/59858
Tested-by: Jenkins
Reviewed-by: Justin Luth <justin_luth@sil.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
Diffstat (limited to 'writerfilter')
-rw-r--r-- | writerfilter/source/dmapper/DomainMapper.cxx | 6 | ||||
-rw-r--r-- | writerfilter/source/dmapper/DomainMapper_Impl.cxx | 5 |
2 files changed, 6 insertions, 5 deletions
diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index a85590baf5e7..d88a4f701ac6 100644 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -2855,10 +2855,8 @@ void DomainMapper::lcl_endSectionGroup() { m_pImpl->CheckUnregisteredFrameConversion(); m_pImpl->ExecuteFrameConversion(); - // First paragraph in a footnote doesn't count: that would create - // additional paragraphs before and after the real footnote content. - // Also, when pasting, it's fine to not have any paragraph inside the document at all. - if (m_pImpl->GetIsFirstParagraphInSection() && !m_pImpl->IsInFootOrEndnote() && m_pImpl->IsNewDoc()) + // When pasting, it's fine to not have any paragraph inside the document at all. + if (m_pImpl->GetIsFirstParagraphInSection() && m_pImpl->IsNewDoc()) { // This section has no paragraph at all (e.g. they are all actually in a frame). // If this section has a page break, there would be nothing to apply to the page diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx index 12bd911f5e59..9caf6e3c8fd8 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -480,7 +480,10 @@ bool DomainMapper_Impl::GetIsFirstParagraphInSection() { // Anchored objects may include multiple paragraphs, // and none of them should be considered the first para in section. - return m_bIsFirstParaInSection && !IsInShape(); + return m_bIsFirstParaInSection + && !IsInShape() + && !m_bIsInComments + && !m_bInFootOrEndnote; } void DomainMapper_Impl::SetIsFirstParagraphInShape(bool bIsFirst) |