From 4da48ee1fea74b2712bd5edf83e2a94d6aab1b8a Mon Sep 17 00:00:00 2001 From: Mike Kaganski Date: Sun, 7 Aug 2022 21:00:01 +0300 Subject: tdf#150293: setPropertyValue(WID_TXTCOL_LINE_WIDTH) takes mm100 Before commit 95ebd24a629b4c8cd62cc20c0701683512cc8fa0 Author Mike Kaganski Date Thu May 27 13:00:10 2021 +0300 editengine-columns: ODF support [API CHANGE] SwXTextColumns crtor took SwFormatCol, and stored line width in the same units as in SwFormatCol - in twips; conversion to mm100 only happened at export stage in SwXTextColumns::getPropertyValue. The mentioned commit changed to SvxXTextColumns::setPropertyValue, passing the line width from SwFormatCol also without any conversion; but SvxXTextColumns::setPropertyValue expects mm100, so the result was wrong. So perform the proper conversion at SwFormatCol::QueryValue and SwFormatCol::PutValue, and also store the line width in mm100 in SvxXTextColumns, to avoid useless extra conversion. Change-Id: Idfd62a7563f9d3aa5947c1149572a8b8b696b179 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137931 Tested-by: Jenkins Reviewed-by: Mike Kaganski (cherry picked from commit 47b4c9bb7f0ef0175e55acaf22c740d11f6e9474) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137827 Reviewed-by: Xisco Fauli (cherry picked from commit fcd541901d17b920aff7069131d3dc4b84adf264) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137828 --- svx/source/unodraw/SvxXTextColumns.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'svx') diff --git a/svx/source/unodraw/SvxXTextColumns.cxx b/svx/source/unodraw/SvxXTextColumns.cxx index 00971bc7bc87..a0e399bd4cbb 100644 --- a/svx/source/unodraw/SvxXTextColumns.cxx +++ b/svx/source/unodraw/SvxXTextColumns.cxx @@ -210,7 +210,7 @@ void SvxXTextColumns::setPropertyValue(const OUString& rPropertyName, const css: sal_Int32 nTmp; if (!(aValue >>= nTmp) || nTmp < 0) throw css::lang::IllegalArgumentException(); - m_nSepLineWidth = o3tl::toTwips(nTmp, o3tl::Length::mm100); + m_nSepLineWidth = nTmp; break; } case WID_TXTCOL_LINE_COLOR: @@ -271,7 +271,7 @@ css::uno::Any SvxXTextColumns::getPropertyValue(const OUString& rPropertyName) switch (pEntry->nWID) { case WID_TXTCOL_LINE_WIDTH: - aRet <<= o3tl::narrowing(convertTwipToMm100(m_nSepLineWidth)); + aRet <<= m_nSepLineWidth; break; case WID_TXTCOL_LINE_COLOR: aRet <<= m_nSepLineColor; -- cgit