diff options
author | Michael Stahl <mstahl@redhat.com> | 2012-08-22 00:19:42 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@suse.cz> | 2012-08-22 12:10:37 +0000 |
commit | a7a6e3b72d23e7068238953670b6a0bf82ef1243 (patch) | |
tree | 6eaa1e041ca68630a721a749fd6bb191367a8220 | |
parent | 2d7d1e59b908ee095e21a55101b380d2dc23008e (diff) |
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 <vmiklos@suse.cz>
Tested-by: Miklos Vajna <vmiklos@suse.cz>
-rw-r--r-- | svtools/source/control/ctrlbox.cxx | 4 | ||||
-rw-r--r-- | sw/source/filter/html/htmltab.cxx | 3 |
2 files changed, 5 insertions, 2 deletions
diff --git a/svtools/source/control/ctrlbox.cxx b/svtools/source/control/ctrlbox.cxx index 56658586d9cc..4a44d0314c8e 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 bfde6230dda3..8a3edd91ef4c 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 ) |