diff options
author | Justin Luth <justin_luth@sil.org> | 2017-07-29 11:38:10 -0400 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2017-08-04 12:01:29 +0200 |
commit | bcc36b18a76ca66f46dee97102fc0c516d969223 (patch) | |
tree | 9079889d0cc8b0fcb86b6616be0554ace38e29d8 /writerfilter | |
parent | 72e3148f50af7dd85c489c7bf641963a3194cab6 (diff) |
tdf#108944 writerfilter: fix missing footnote separator
Fix regression from e79ef12b7a904f17d4147fa409d055c12b70f952
tdf#107033 DOCX import: fix unexpected missing footnote separator.
Initially related to tdf#68787.
If HandleMarginsHeaderFooter was called twice, then it automatically
would have disabled the separator. Clearing the HasFtn/HasFtnSep flags
also shouldn't be run when in the footnote sections.
Reviewed-on: https://gerrit.libreoffice.org/40551
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Justin Luth <justin_luth@sil.org>
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
(cherry picked from commit 6f57c09aadd40009173f8ae3654004dd0cad9fb8)
Change-Id: I00cbd1cbc8dc86edf426f852c59c3f943e373b13
Reviewed-on: https://gerrit.libreoffice.org/40590
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 234df2fb5901588ccf20cb35cb4c5922aeb89817)
Diffstat (limited to 'writerfilter')
-rw-r--r-- | writerfilter/source/dmapper/PropertyMap.cxx | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/writerfilter/source/dmapper/PropertyMap.cxx b/writerfilter/source/dmapper/PropertyMap.cxx index 9f263ab22630..8b84e318bc67 100644 --- a/writerfilter/source/dmapper/PropertyMap.cxx +++ b/writerfilter/source/dmapper/PropertyMap.cxx @@ -1037,17 +1037,12 @@ void SectionPropertyMap::HandleMarginsHeaderFooter(bool bFirstPage, DomainMapper if (rDM_Impl.m_oBackgroundColor) Insert(PROP_BACK_COLOR, uno::makeAny(*rDM_Impl.m_oBackgroundColor)); - if (rDM_Impl.m_bHasFtn) + // Check for missing footnote separator only in case there is at least + // one footnote. + if (rDM_Impl.m_bHasFtn && !rDM_Impl.m_bHasFtnSep) { - // Check for missing footnote separator only in case there is at least - // one footnote. - if (!rDM_Impl.m_bHasFtnSep) - { - // Set footnote line width to zero, document has no footnote separator. - Insert(PROP_FOOTNOTE_LINE_RELATIVE_WIDTH, uno::makeAny(sal_Int32(0))); - rDM_Impl.m_bHasFtn = false; - } - rDM_Impl.m_bHasFtnSep = false; + // Set footnote line width to zero, document has no footnote separator. + Insert(PROP_FOOTNOTE_LINE_RELATIVE_WIDTH, uno::makeAny(sal_Int32(0))); } /*** if headers/footers are available then the top/bottom margins of the @@ -1463,6 +1458,12 @@ void SectionPropertyMap::CloseSectionGroup( DomainMapper_Impl& rDM_Impl ) } rDM_Impl.SetIsLastSectionGroup(false); rDM_Impl.SetIsFirstParagraphInSection(true); + + if ( !rDM_Impl.IsInFootOrEndnote() ) + { + rDM_Impl.m_bHasFtn = false; + rDM_Impl.m_bHasFtnSep = false; + } } // Clear the flag that says we should take the header/footer content from |