svtools/source/control/ctrlbox.cxx | 4 ++++ sw/source/filter/html/htmltab.cxx | 3 +-- 2 files changed, 5 insertions(+), 2 deletions(-)
New commits: commit a7a6e3b72d23e7068238953670b6a0bf82ef1243 Author: Michael Stahl <mst...@redhat.com> Date: Wed Aug 22 00:19:42 2012 +0200 fdo#51777: add a hack for 1 twip DOUBLE borders: Arguably such annoyingly thin double borders don't make much sense anyway, because they're essentially 2 hairlines with ~no space between, but unfortunately older LO versions are able to create them; since the refactoring in 2d045cdb69176b280812dda0b813371cf1ac72e2, which changed the BorderWidthImpl::Get* methods to return 0 due to rounding, they were ignored at least in the HTML import, which is a regression. So add a special purpose hack that essentially rounds up the first line to 1 but not the other lines so the visual result is a hairline single border. Change-Id: I20ac4675bcf67ea58a6931a40bff3605390e9c0d (cherry picked from commit 601bfe2ce3113719b2f8edaba2ccb6b630051a9a) Reviewed-on: https://gerrit.libreoffice.org/451 Reviewed-by: Miklos Vajna <vmik...@suse.cz> Tested-by: Miklos Vajna <vmik...@suse.cz> diff --git a/svtools/source/control/ctrlbox.cxx b/svtools/source/control/ctrlbox.cxx index 5665858..4a44d03 100644 --- a/svtools/source/control/ctrlbox.cxx +++ b/svtools/source/control/ctrlbox.cxx @@ -327,6 +327,10 @@ long BorderWidthImpl::GetLine1( long nWidth ) const result = std::max<long>(0, static_cast<long>((m_nRate1 * nWidth) + 0.5) - (nConstant2 + nConstantD)); + if (result == 0 && m_nRate1 > 0.0 && nWidth > 0) + { // fdo#51777: hack to essentially treat 1 twip DOUBLE border + result = 1; // as 1 twip SINGLE border + } } return result; } diff --git a/sw/source/filter/html/htmltab.cxx b/sw/source/filter/html/htmltab.cxx index bfde623..8a3edd9 100644 --- a/sw/source/filter/html/htmltab.cxx +++ b/sw/source/filter/html/htmltab.cxx @@ -2072,8 +2072,7 @@ void HTMLTable::SetBorders() sal_uInt16 HTMLTable::GetBorderWidth( const SvxBorderLine& rBLine, sal_Bool bWithDistance ) const { - sal_uInt16 nBorderWidth = rBLine.GetOutWidth() + rBLine.GetInWidth() + - rBLine.GetDistance(); + sal_uInt16 nBorderWidth = rBLine.GetWidth(); if( bWithDistance ) { if( nCellPadding ) _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits