summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorVasily Melenchuk <vasily.melenchuk@cib.de>2015-03-04 17:06:43 +0300
committerMiklos Vajna <vmiklos@collabora.co.uk>2015-03-08 13:09:23 +0000
commit0ae97c39134a73feeea718e81669fd42e5ceb627 (patch)
tree99c078d88849866e834a55b7f73cefd38e4e20bb /writerfilter
parent83965d7f4ff1fb8e7bce6d5e0be8f610a07756b6 (diff)
tdf#49893: fix for missing header on page 2
Header on second page was missing because document was parsed as document with facing page. Original document contains \facingp0 token toggling facing page off. However LibreOffice treats it as a boolean switch. This absolutely conform RTF specification (1.9.1), but differs from actual behavior of MS Word: actually this RTF token behaves like \b token (\b or \b1 are enabling bold text, \b0 - disabling). Change-Id: Iea2b52cde311ab1b02938461ba0945191339c783 Reviewed-on: https://gerrit.libreoffice.org/14743 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/source/rtftok/rtfcontrolwords.cxx2
-rw-r--r--writerfilter/source/rtftok/rtfdocumentimpl.cxx6
2 files changed, 4 insertions, 4 deletions
diff --git a/writerfilter/source/rtftok/rtfcontrolwords.cxx b/writerfilter/source/rtftok/rtfcontrolwords.cxx
index 4f69ece7a736..044116ce0bfc 100644
--- a/writerfilter/source/rtftok/rtfcontrolwords.cxx
+++ b/writerfilter/source/rtftok/rtfcontrolwords.cxx
@@ -506,7 +506,7 @@ RTFSymbol aRTFControlWords[] =
{"f", CONTROL_VALUE, RTF_F},
{"faauto", CONTROL_FLAG, RTF_FAAUTO},
{"facenter", CONTROL_FLAG, RTF_FACENTER},
- {"facingp", CONTROL_FLAG, RTF_FACINGP},
+ {"facingp", CONTROL_TOGGLE, RTF_FACINGP},
{"factoidname", CONTROL_DESTINATION, RTF_FACTOIDNAME},
{"fafixed", CONTROL_FLAG, RTF_FAFIXED},
{"fahang", CONTROL_FLAG, RTF_FAHANG},
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index d6adeaefc4e9..c225dc4529a0 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -3457,9 +3457,6 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
lcl_putNestedAttribute(m_aStates.top().aSectionSprms, NS_ooxml::LN_EG_SectPrContents_pgSz, NS_ooxml::LN_CT_PageSz_orient, pValue);
}
break;
- case RTF_FACINGP:
- m_aSettingsTableSprms.set(NS_ooxml::LN_CT_Settings_evenAndOddHeaders, std::make_shared<RTFValue>(1));
- break;
case RTF_SHPBXPAGE:
m_aStates.top().aShape.nHoriOrientRelation = text::RelOrientation::PAGE_FRAME;
m_aStates.top().aShape.nHoriOrientRelationToken = NS_ooxml::LN_Value_wordprocessingDrawing_ST_RelFromH_page;
@@ -4879,6 +4876,9 @@ RTFError RTFDocumentImpl::dispatchToggle(RTFKeyword nKeyword, bool bParam, int n
case RTF_SAAUTO:
lcl_putNestedAttribute(m_aStates.top().aParagraphSprms, NS_ooxml::LN_CT_PPrBase_spacing, NS_ooxml::LN_CT_Spacing_afterAutospacing, pBoolValue, RTFOverwrite::YES);
break;
+ case RTF_FACINGP:
+ m_aSettingsTableSprms.set(NS_ooxml::LN_CT_Settings_evenAndOddHeaders, pBoolValue);
+ break;
default:
{
SAL_INFO("writerfilter", "TODO handle toggle '" << lcl_RtfToString(nKeyword) << "'");