diff options
-rw-r--r-- | xmloff/source/text/XMLTextFrameContext.cxx | 5 | ||||
-rw-r--r-- | xmloff/source/text/txtparae.cxx | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/xmloff/source/text/XMLTextFrameContext.cxx b/xmloff/source/text/XMLTextFrameContext.cxx index 4f3a484b3bf6..d95aad61e78a 100644 --- a/xmloff/source/text/XMLTextFrameContext.cxx +++ b/xmloff/source/text/XMLTextFrameContext.cxx @@ -1025,7 +1025,10 @@ XMLTextFrameContext_Impl::XMLTextFrameContext_Impl( // value is already mirrored, so do not do it again here (to be in sync // with XMLTextParagraphExport::_exportTextGraphic normally it would need // to me mirrored using * -1.0, see conversion there) - const double fRotate(aDecomposedTransform.getRotate() * (1800.0/M_PI)); + // CAUTIONII: Due to tdf#115782 it is better for current ODF to indeed use it + // with the wrong orientation as in all other cases - ARGH! We will need to + // correct this in future ODF ASAP! For now, mirror the rotation here AGAIN + const double fRotate(aDecomposedTransform.getRotate() * (-1800.0/M_PI)); nRotation = static_cast< sal_Int16 >(basegfx::fround(fRotate) % 3600); // tdf#115529 may be negative, with the above modulo maximal -3599, so diff --git a/xmloff/source/text/txtparae.cxx b/xmloff/source/text/txtparae.cxx index 16a57ed09d23..2cc83399191a 100644 --- a/xmloff/source/text/txtparae.cxx +++ b/xmloff/source/text/txtparae.cxx @@ -3078,7 +3078,9 @@ void XMLTextParagraphExport::_exportTextGraphic( // we have a right-handed coordinate system, so need to correct this by mirroring // the rotation to get the correct transformation. See also case XML_TOK_TEXT_FRAME_TRANSFORM // in XMLTextFrameContext_Impl::XMLTextFrameContext_Impl and #i78696# - const double fRotate(static_cast< double >(-nRotation) * (F_PI/1800.0)); + // CAUTIONII: Due to tdf#115782 it is better for current ODF to indeed write it with the wrong + // orientation as in all other cases - ARGH! We will need to correct this in future ODF ASAP! + const double fRotate(static_cast< double >(nRotation) * (F_PI/1800.0)); // transform to rotation center which is the object's center aSdXMLImExTransform2D.AddTranslate(-aCenter); |