From 1cb56e532caac8d31b1c2d8ddda0f1f2c32f1ab0 Mon Sep 17 00:00:00 2001 From: Kamil Kerimov Date: Mon, 3 Feb 2025 15:39:18 +0500 Subject: [PATCH] Fix bug #72790 --- OdfFile/Writer/Format/odf_drawing_context.cpp | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/OdfFile/Writer/Format/odf_drawing_context.cpp b/OdfFile/Writer/Format/odf_drawing_context.cpp index 349aabd225..7277d56b1a 100644 --- a/OdfFile/Writer/Format/odf_drawing_context.cpp +++ b/OdfFile/Writer/Format/odf_drawing_context.cpp @@ -3321,19 +3321,23 @@ void odf_drawing_context::end_image() end_shape(); return; } + + if (impl_->current_drawing_state_.flipV_) + { + if (impl_->current_drawing_state_.rotateAngle_) + *impl_->current_drawing_state_.rotateAngle_ -= 3.1415926535; + else + impl_->current_drawing_state_.rotateAngle_ = -3.1415926535; + + impl_->current_drawing_state_.flipH_ = !impl_->current_drawing_state_.flipH_; + } + if (impl_->current_drawing_state_.flipH_) { if (impl_->current_graphic_properties->style_mirror_) impl_->current_graphic_properties->style_mirror_ = *impl_->current_graphic_properties->style_mirror_ + std::wstring(L" horizontal"); else impl_->current_graphic_properties->style_mirror_ = std::wstring(L"horizontal"); - } - if (impl_->current_drawing_state_.flipV_) - { - if (impl_->current_graphic_properties->style_mirror_) - impl_->current_graphic_properties->style_mirror_ = *impl_->current_graphic_properties->style_mirror_ + std::wstring(L" vertical"); - else - impl_->current_graphic_properties->style_mirror_ = std::wstring(L"vertical"); } end_element(); end_frame();