diff options
-rw-r--r-- | sw/source/filter/ww8/rtfattributeoutput.cxx | 2 | ||||
-rw-r--r-- | sw/source/filter/ww8/ww8atr.cxx | 7 |
2 files changed, 9 insertions, 0 deletions
diff --git a/sw/source/filter/ww8/rtfattributeoutput.cxx b/sw/source/filter/ww8/rtfattributeoutput.cxx index 6c37ce00be0d..37f50a9e6a89 100644 --- a/sw/source/filter/ww8/rtfattributeoutput.cxx +++ b/sw/source/filter/ww8/rtfattributeoutput.cxx @@ -1679,6 +1679,8 @@ void RtfAttributeOutput::WriteField_Impl(const SwField* const pField, ww::eField if (bHasInstructions) { m_aRunText->append("{" OOO_STRING_SVTOOLS_RTF_FIELD); + if (pField && (pField->GetSubType() & FIXEDFLD)) + m_aRunText->append(OOO_STRING_SVTOOLS_RTF_FLDLOCK); m_aRunText->append("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_FLDINST " "); m_aRunText->append( diff --git a/sw/source/filter/ww8/ww8atr.cxx b/sw/source/filter/ww8/ww8atr.cxx index de65515cbf17..5d120613e4d5 100644 --- a/sw/source/filter/ww8/ww8atr.cxx +++ b/sw/source/filter/ww8/ww8atr.cxx @@ -1916,6 +1916,13 @@ void WW8Export::OutputField( const SwField* pField, ww::eField eFieldType, if (nSubType == REF_SEQUENCEFLD) aField15[0] |= (0x4 << 5); } + // This ought to apply to any field, but just to be safe, start off with DATE/TIME only. + if (pField->GetTyp()->Which() == SwFieldIds::DateTime + && (pField->GetSubType() & FIXEDFLD)) + { + //bit 5 - Locked: do not recalculate field + aField15[1] |= 0x10; + } } pFieldP->Append( Fc2Cp( Strm().Tell() ), aField15 ); |