From 8aa778177b31beef5ec00ca995a14c8f6dca347f Mon Sep 17 00:00:00 2001 From: Tamás Zolnai Date: Tue, 26 Nov 2019 15:23:40 +0100 Subject: tdf#128985: ODP: Style text directions revert to RTL on save and re-open MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit First we need to check duplicate writing modes and then ignore the defult LR_TB writing mode. Change-Id: I166141abd6286fc48c095ef92751e420fb197b3e Reviewed-on: https://gerrit.libreoffice.org/83785 Reviewed-by: Tamás Zolnai Tested-by: Tamás Zolnai (cherry picked from commit 6f62a5c4ee2c1b7654c7fcaa618fb495e0d32f0a) Reviewed-on: https://gerrit.libreoffice.org/83896 Tested-by: Jenkins Reviewed-by: Xisco Faulí (cherry picked from commit f187550e052ac659766dc8dc4ef574714e8ac46b) Reviewed-on: https://gerrit.libreoffice.org/83970 Reviewed-by: Michael Stahl (cherry picked from commit 5d20213462ca346ba942ce5e03a5771d499d3518) Reviewed-on: https://gerrit.libreoffice.org/84049 Reviewed-by: Christian Lohmaier Tested-by: Michael Stahl --- xmloff/source/draw/sdpropls.cxx | 46 ++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 24 deletions(-) diff --git a/xmloff/source/draw/sdpropls.cxx b/xmloff/source/draw/sdpropls.cxx index dc91e301e60b..3848ef8f68e7 100644 --- a/xmloff/source/draw/sdpropls.cxx +++ b/xmloff/source/draw/sdpropls.cxx @@ -1366,35 +1366,13 @@ void XMLShapeExportPropertyMapper::ContextFilter( } break; case CTF_WRITINGMODE: - { - pShapeWritingMode = property; - text::WritingMode eWritingMode; - if( property->maValue >>= eWritingMode ) - { - if( text::WritingMode_LR_TB == eWritingMode ) - { - property->mnIndex = -1; - pShapeWritingMode = nullptr; - } - } - } + pShapeWritingMode = property; break; case CTF_CONTROLWRITINGMODE: pControlWritingMode = property; break; case CTF_TEXTWRITINGMODE: - { - pTextWritingMode = property; - sal_Int32 eWritingMode; - if (property->maValue >>= eWritingMode) - { - if (text::WritingMode2::LR_TB == eWritingMode) - { - property->mnIndex = -1; - pTextWritingMode = nullptr; - } - } - } + pTextWritingMode = property; break; case CTF_REPEAT_OFFSET_X: pRepeatOffsetX = property; @@ -1487,10 +1465,30 @@ void XMLShapeExportPropertyMapper::ContextFilter( pTextWritingMode->mnIndex = -1; if( pControlWritingMode ) pControlWritingMode->mnIndex = -1; + + text::WritingMode eWritingMode; + if( pShapeWritingMode->maValue >>= eWritingMode ) + { + if( text::WritingMode_LR_TB == eWritingMode ) + { + pShapeWritingMode->mnIndex = -1; + pShapeWritingMode = nullptr; + } + } } else if( pTextWritingMode && pControlWritingMode ) { pControlWritingMode->mnIndex = -1; + + sal_Int32 eWritingMode; + if (pTextWritingMode->maValue >>= eWritingMode) + { + if (text::WritingMode2::LR_TB == eWritingMode) + { + pTextWritingMode->mnIndex = -1; + pTextWritingMode = nullptr; + } + } } // do not export visual area for internal ole objects -- cgit v1.2.3